using IronPdf;
// Disable local disk access or cross-origin requests
Installation.EnableWebSecurity = true;
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");
Tutoriel d'ActivePDF DocConverter et comparaison avec IronPDF
Chaknith Bin
septembre 23, 2021
Partager:
Le ActivePDF Toolkit est un composant logiciel utilisé pour travailler avec des fichiers PDF (y compris la génération de fichiers PDF à partir de différentes sources) et pour définir ses propriétés (comme l'en-tête, le pied de page, la marge ou le filigrane).
IronPDF est une bibliothèque PDF C# qui offre également ces fonctions, avec des tarifs compétitifs.
Nous examinerons ici les fonctions, les exemples de code et les actions pas à pas permettant d'utiliser les deux composants logiciels dans un projet .NET Visual Studio, afin que vous puissiez décider par vous-même de ce qui convient le mieux à votre application.
Iron Software est un fournisseur de composants leader sur le marché, qui propose IronPDF pour travailler avec des fichiers PDF. Un moyen complet de générer facilement des fichiers PDF à partir de différents formats et de définir toutes les propriétés par programme. Il est privilégié par les développeurs en raison de la cohérence, de la fiabilité et de la précision de la sortie des fichiers PDF en utilisant seulement quelques lignes de code.
IronPDF est conçu pour C#, .NET, VB, ASPX, ASP.NET, MVC et .NET Core. Elle prend en charge Visual Studio, NuGet, Linux, Azure, Docker, et bien plus encore.
À propos de la boîte à outils ActivePDF
ActivePDF est une entreprise de logiciels qui fournit de nombreux composants pour gérer les fichiers PDF. Contrairement au composant unique IronPDF, ActivePDF offre différentes solutions pour les fichiers PDF. Par exemple, pour réduire la taille des fichiers PDF, vous pouvez utiliser ActivePDF Compressor. Pour créer des PDF à partir de sources HTML, utilisez ActivePDF WebGrabber.
Dans cet article, nous utiliserons ActivePDF WebGrabber pour le comparer à IronPDF :
ActivePDF WebGrabber pour la création de PDF
ActivePDF WebGrabber est un composant distinct d'ActivePDF spécifiquement utilisé pour générer des fichiers PDF à partir de sources HTML telles que l'URL, le fichier HTML ou la chaîne HTML. Il offre également des fonctions permettant de définir les propriétés des pages, telles que l'en-tête, le pied de page, la marge, le filigrane ou le signet, afin de créer des fichiers PDF conformes à nos exigences.
Comparaison
1. Tableau de comparaison entre ActivePDF et IronPDF
Jetons un coup d'œil à la comparaison côte à côte des deux composants.
IronPDF
ActivePDF
IronPDF converts HTML sources to PDF files.
ActivePDF converts HTML sources to PDF files.
IronPDF supports .NET Core.
ActivePDF does not support .NET Core.
IronPDF supports .NET 4.0 or higher.
ActivePDF supports .NET 4.6.2 or higher.
IronPDF supports macOS.
ActivePDF does not support macOS.
IronPDF can apply CSS to set WaterMark properties.
ActivePDF does not support CSS to set WaterMark properties.
IronPDF can set Paper Orientation of PDF files.
ActivePDF can set Paper Orientation of PDF files.
IronPDF provides the RenderDelay function to delay the PDF conversion.
ActivePDF provides the TimeoutSpan function to delay the PDF conversion.
IronPDF provides predefined functions to set Header or Footer.
ActivePDF requires setting Header and Footer by raw HTML and CSS.
IronPDF provides a predefined function to draw a horizontal line to separate content.
ActivePDF does not provide a line to separate headers and footers.
To save the PDF file, we can set the directory and file name in one line.
We have to set file directory and file name separately.
Need to write fewer lines of code with a simple programming structure.
Need to write many lines of code.
License starts from $749.
License starts from $1180.
Étape 1 : Installation
2. Comment installer IronPDF ?
Vous pouvez ajouter la bibliothèque IronPDF à votre projet de deux manières différentes, sans que cela ne change quoi que ce soit.
Gestionnaire de paquets NuGet
Ouvrez le gestionnaire de paquets NuGet dans votre projet Visual Studio.
Recherchez IronPDF, puis installez-le.
Alternativement :
Allez à tools
Sélectionnez la console du gestionnaire de packages
Si vous pouvez accéder à IronPDF en écrivant using IronPdf; namespace, cela signifie que IronPDF a été importé avec succès dans votre projet et est prêt à être utilisé.
Comment installer WebGrabber
Téléchargez WebGrabber-install.exe, et sélectionnez le fichier à télécharger. Une fois téléchargé, double-cliquez sur le fichier téléchargé. Puis, demandez une clé d'activation à ActivePDF pour une utilisation avec la clé d'évaluation de 15 jours suivante : 001-AEALX-LC6Z5-7YD95-S3D8J-3LR25.
Une fois l'installation réussie, rendez-vous dans le répertoire suivant :
C:\Program Files\ActivePDF\WebGrabber\bin\
Dans ce répertoire, vous obtenez le fichier APWebGrabber.Net45.dll. Ajoutez sa référence dans votre projet Visual Studio.
Maintenant, si vous pouvez accéder à WebGrabber en écrivant using APWebGrabber; namespace, cela signifie que ActivePDF WebGrabber a été importé avec succès dans votre projet et que vous pouvez l'utiliser.
Documentation ActivePDF est disponible pour en savoir plus sur l'installation de ActivePDF WebGrabber.
Tutoriels
Utilisation d'IronPDF et de WebGrabber
Nous avons vu l'introduction de ces deux composants et leurs processus d'installation, et nous allons maintenant commencer la comparaison en effectuant différentes tâches à l'aide de ces deux composants. Cela nous permettra de comprendre la structure de programmation des deux et de décider laquelle est la meilleure pour nos projets. Pour une meilleure compréhension, nous exécuterons un cas d'utilisation spécifique dans chaque tâche et fournirons le code utilisé pour la mise en œuvre.
3. Convertir une chaîne HTML en fichier PDF
Dans la première comparaison, nous prendrons un cas d'utilisation dans lequel nous devons créer un fichier PDF à partir d'une chaîne HTML et l'enregistrer à l'emplacement cible. Tout d'abord, nous commençons à mettre en œuvre ce cas d'utilisation par IronPDF :
3.1. Chaîne HTML avec IronPDF
/**
HTML String to PDF
anchor-html-string-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new ChromePdfRenderer();
//HTML Source
string html = "<h1>Hello World!</h1> <h2>Welcome to IronPDF</h2> ";
//convert HTML string to PDF file
using var PDF = converter.RenderHtmlAsPdf(html);
//Save the file
PDF.SaveAs("E:/sample.pdf");
}
/**
HTML String to PDF
anchor-html-string-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new ChromePdfRenderer();
//HTML Source
string html = "<h1>Hello World!</h1> <h2>Welcome to IronPDF</h2> ";
//convert HTML string to PDF file
using var PDF = converter.RenderHtmlAsPdf(html);
//Save the file
PDF.SaveAs("E:/sample.pdf");
}
'''
'''HTML String to PDF
'''anchor-html-string-with-ironpdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'create rendering converter
Dim converter = New ChromePdfRenderer()
'HTML Source
Dim html As String = "<h1>Hello World!</h1> <h2>Welcome to IronPDF</h2> "
'convert HTML string to PDF file
Dim PDF = converter.RenderHtmlAsPdf(html)
'Save the file
PDF.SaveAs("E:/sample.pdf")
End Sub
$vbLabelText $csharpLabel
Sortie :
Le code ci-dessus créera un fichier PDF sample.pdf dans Disque local E: et sa capture d'écran est :
3.2. Chaîne HTML avec ActivePDF
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//HTML Source
string html = "<h1>Hello World!</h1> <h2>Welcome to ActivePDF WebGrabber</h2>";
//assign source html to WebGrabber
wg.CreateFromHTMLText = html;
//specify file directory
wg.OutputDirectory = "E:/";
// file name
wg.NewDocumentName = "sample.pdf";
//convert source HTML to PDF file
wg.ConvertToPDF();
}
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//HTML Source
string html = "<h1>Hello World!</h1> <h2>Welcome to ActivePDF WebGrabber</h2>";
//assign source html to WebGrabber
wg.CreateFromHTMLText = html;
//specify file directory
wg.OutputDirectory = "E:/";
// file name
wg.NewDocumentName = "sample.pdf";
//convert source HTML to PDF file
wg.ConvertToPDF();
}
Imports APWebGrabber
Shared Sub Main(ByVal args() As String)
'Instantiate Object
Dim wg As New WebGrabber()
'HTML Source
Dim html As String = "<h1>Hello World!</h1> <h2>Welcome to ActivePDF WebGrabber</h2>"
'assign source html to WebGrabber
wg.CreateFromHTMLText = html
'specify file directory
wg.OutputDirectory = "E:/"
' file name
wg.NewDocumentName = "sample.pdf"
'convert source HTML to PDF file
wg.ConvertToPDF()
End Sub
$vbLabelText $csharpLabel
La capture d'écran suivante est le fichier sample.pdf nouvellement généré à partir de ce code :
3.3. Différence entre IronPDF et ActivePDF
Moins de lignes de code avec IronPDF
Le fichier généré par IronPDF est plus lisible, grâce aux marges par défaut
4. Convertir un fichier HTML en fichier PDF
Dans cette comparaison, nous prenons le cas d'utilisation où nous devons générer un fichier PDF à partir d'un fichier HTML nommé myHtmlFile.html qui se trouve dans le répertoire E:/, et il contient le code HTML et CSS suivant :
Maintenant, nous allons convertir le fichier myHtmlFile.html en un fichier PDF en utilisant les deux composants. Commençons par IronPDF.
4.1. Fichier HTML avec IronPDF
/**
HTML File to PDF
anchor-html-file-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new IronPdf.ChromePdfRenderer();
//render html file to pdf
using var PDF = converter.RenderHTMLFileAsPdf("E:/myHtmlFile.html");
//save to target location
PDF.SaveAs("E:/Sample.pdf");
}
/**
HTML File to PDF
anchor-html-file-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new IronPdf.ChromePdfRenderer();
//render html file to pdf
using var PDF = converter.RenderHTMLFileAsPdf("E:/myHtmlFile.html");
//save to target location
PDF.SaveAs("E:/Sample.pdf");
}
'''
'''HTML File to PDF
'''anchor-html-file-with-ironpdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'create rendering converter
Dim converter = New IronPdf.ChromePdfRenderer()
'render html file to pdf
Dim PDF = converter.RenderHTMLFileAsPdf("E:/myHtmlFile.html")
'save to target location
PDF.SaveAs("E:/Sample.pdf")
End Sub
$vbLabelText $csharpLabel
La capture d'écran suivante est celle du fichier Sample.pdf nouvellement généré en utilisant le code ci-dessus :
Nous pouvons voir que la page HTML myHtmlFile.html a été convertie avec succès en fichier PDF Sample.pdf, et que les styles CSS sont également appliqués.
Lisez la documentation IronPDF pour en savoir plus sur la façon dont nous pouvons utiliser IronPDF dans notre projet .NET.
Effectuons la même tâche en utilisant ActivePDF WebGrabber.
4.2. Fichier HTML avec ActivePDF
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//specify file path to be converted
wg.URL = "E:/myHtmlFile.html";
//specify the directory for newly generated file
wg.OutputDirectory = "E:/";
//newly generated file name
wg.NewDocumentName = "Sample.pdf";
//convert HTML file to PDF
wg.ConvertToPDF();
}
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//specify file path to be converted
wg.URL = "E:/myHtmlFile.html";
//specify the directory for newly generated file
wg.OutputDirectory = "E:/";
//newly generated file name
wg.NewDocumentName = "Sample.pdf";
//convert HTML file to PDF
wg.ConvertToPDF();
}
Imports APWebGrabber
Shared Sub Main(ByVal args() As String)
'Instantiate Object
Dim wg As New WebGrabber()
'specify file path to be converted
wg.URL = "E:/myHtmlFile.html"
'specify the directory for newly generated file
wg.OutputDirectory = "E:/"
'newly generated file name
wg.NewDocumentName = "Sample.pdf"
'convert HTML file to PDF
wg.ConvertToPDF()
End Sub
$vbLabelText $csharpLabel
La capture d'écran suivante est du fichier nouvellement généré Sample.pdf, en utilisant le code ci-dessus :
4.3. Différence entre IronPDF et ActivePDF
Seulement 3 lignes de code avec IronPDF
Le fichier IronPDF est légèrement plus propre / attrayant
5. Convertir une URL en fichier PDF
Supposons que nous ayons une URL https://yandex.com/ et que nous souhaitions générer un fichier PDF de sa page web. Pour ce faire, les deux composants fournissent une fonction. Tout d'abord, nous verrons comment IronPDF peut le faire.
5.1. URL avec IronPDF
/**
URL to PDF
anchor-url-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new ChromePdfRenderer();
//Specify URL
using var PDF = converter.RenderUrlAsPdf("https://yandex.com/");
//Save the file
PDF.SaveAs("E:/Sample.pdf");
}
/**
URL to PDF
anchor-url-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new ChromePdfRenderer();
//Specify URL
using var PDF = converter.RenderUrlAsPdf("https://yandex.com/");
//Save the file
PDF.SaveAs("E:/Sample.pdf");
}
'''
'''URL to PDF
'''anchor-url-with-ironpdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'create rendering converter
Dim converter = New ChromePdfRenderer()
'Specify URL
Dim PDF = converter.RenderUrlAsPdf("https://yandex.com/")
'Save the file
PDF.SaveAs("E:/Sample.pdf")
End Sub
$vbLabelText $csharpLabel
La capture d'écran suivante est du fichier Sample.pdf nouvellement généré par le code ci-dessus
Vous pouvez visiter la page web de l'échantillon d'URL pour comparer et voir à quel point le fichier IronPDF correspond précisément.
Nous allons maintenant effectuer la même tâche en utilisant ActivePDF WebGrabber.
5.2. URL avec ActivePDF
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//specify URL
wg.URL = "https://yandex.com/";
//specify the directory for newly generated file
wg.OutputDirectory = "E:/";
//specify file name
wg.NewDocumentName = "Sample.pdf";
//convert specified URL webpage to PDF
wg.ConvertToPDF();
}
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//specify URL
wg.URL = "https://yandex.com/";
//specify the directory for newly generated file
wg.OutputDirectory = "E:/";
//specify file name
wg.NewDocumentName = "Sample.pdf";
//convert specified URL webpage to PDF
wg.ConvertToPDF();
}
Imports APWebGrabber
Shared Sub Main(ByVal args() As String)
'Instantiate Object
Dim wg As New WebGrabber()
'specify URL
wg.URL = "https://yandex.com/"
'specify the directory for newly generated file
wg.OutputDirectory = "E:/"
'specify file name
wg.NewDocumentName = "Sample.pdf"
'convert specified URL webpage to PDF
wg.ConvertToPDF()
End Sub
$vbLabelText $csharpLabel
La capture d'écran suivante est du fichier Sample.pdf nouvellement généré par le code ci-dessus :
5.3. Différence entre IronPDF et ActivePDF
IronPDF a une structure plus simple pour générer des fichiers PDF
Seulement trois lignes de code
IronPDF se rapproche du site
6. Créer un filigrane sur un PDF
Dans cette comparaison, nous allons créer un fichier PDF à l'aide d'une chaîne HTML, puis ajouter un WaterMark au centre de la page. Commençons par IronPDF.
6.1. Filigrane avec IronPDF
IronPDF fournit la fonction suivante pour ajouter un WaterMark :
WatermarkPage(WaterMark HTML String, PageIndexToWaterMark, WaterMarkLocation, Opacity, Rotation, Hyperlink)
Nous pouvons utiliser le WaterMarkLocation pour définir le filigrane aux positions suivantes :
En haut à gauche
TopCenter
En haut à droite
MilieuGauche
MilieuCentre
MilieuDroite
En bas à gauche
CentreBas
EnBasÀDroite
Voyons comment utiliser les fonctions ci-dessus pour définir le WaterMark :
/**
Watermark PDF
anchor-watermark-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new ChromePdfRenderer();
//source html string
string html = "<h1 style='text-align:center'>WaterMark Example</h1>";
//add above string as PDF file content
using var PDF = converter.RenderHtmlAsPdf(html);
//HTML string for WaterMark
string WMStr = "<h1 style='color:red'>WaterMark</h1>";
//add WaterMark
PDF.WatermarkPage(WMStr, 0, PdfDocument.WaterMarkLocation.MiddleCenter, 100, -45, "");
//save the document
PDF.SaveAs("E:/Sample.pdf");
}
/**
Watermark PDF
anchor-watermark-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create rendering converter
var converter = new ChromePdfRenderer();
//source html string
string html = "<h1 style='text-align:center'>WaterMark Example</h1>";
//add above string as PDF file content
using var PDF = converter.RenderHtmlAsPdf(html);
//HTML string for WaterMark
string WMStr = "<h1 style='color:red'>WaterMark</h1>";
//add WaterMark
PDF.WatermarkPage(WMStr, 0, PdfDocument.WaterMarkLocation.MiddleCenter, 100, -45, "");
//save the document
PDF.SaveAs("E:/Sample.pdf");
}
'''
'''Watermark PDF
'''anchor-watermark-with-ironpdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'create rendering converter
Dim converter = New ChromePdfRenderer()
'source html string
Dim html As String = "<h1 style='text-align:center'>WaterMark Example</h1>"
'add above string as PDF file content
Dim PDF = converter.RenderHtmlAsPdf(html)
'HTML string for WaterMark
Dim WMStr As String = "<h1 style='color:red'>WaterMark</h1>"
'add WaterMark
PDF.WatermarkPage(WMStr, 0, PdfDocument.WaterMarkLocation.MiddleCenter, 100, -45, "")
'save the document
PDF.SaveAs("E:/Sample.pdf")
End Sub
$vbLabelText $csharpLabel
La capture d'écran suivante est du fichier Sample.pdf nouvellement généré par le code ci-dessus :
Nous pouvons ajouter n'importe quel type de WaterMark et définir ses propriétés par CSS. Nous allons maintenant effectuer la même tâche en utilisant ActivePDF WebGrabber.
6.2. Filigrane avec ActivePDF
ActivePDF WebGrabber ne fournit pas de fonction spécifique pour WaterMark, contrairement à IronPDF. Mais nous pouvons utiliser la fonction AddStampText() comme solution de contournement à cette fin :
AddStampText(float x, float y, string stampText);
float x pour définir la coordonnée x pour l'origine du nouveau TextStamp.
float y pour définir la coordonnée y pour l'origine du nouveau TextStamp.
stampText est le texte réel du TextStamp.
Remarque : ActivePDF WebGrabber ne prend pas en charge le style CSS pour TextStamp. Nous devons le configurer par d'autres fonctions fournies comme suit :
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//HTML source for Page content
string html = "<h1 style='text-align:center'>WaterMark Example</h1>";
//assign page content source
wg.CreateFromHTMLText = html;
//add text stamp as WaterMark
wg.AddStampText(270.0f, 350.0f, "WaterMark");
//specify WaterMark's font size
wg.StampFontSize = 20;
//specify WaterMark's font family
wg.StampFont = "Times New Roman";
//specify WaterMark's opacity
wg.StampFontTransparency = 1f;
//specify WaterMark's rotation
wg.StampRotation = 45.0f;
//specify WaterMark's color
wg.StampColorNET = new ADK.PDF.Color() { Red = 255, Green = 0, Blue = 0, Gray = 0 };
//specify directory for newly created file
wg.OutputDirectory = "E:/";
//specify file name
wg.NewDocumentName = "Sample.pdf";
//convert above sources to PDF file
wg.ConvertToPDF();
}
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//HTML source for Page content
string html = "<h1 style='text-align:center'>WaterMark Example</h1>";
//assign page content source
wg.CreateFromHTMLText = html;
//add text stamp as WaterMark
wg.AddStampText(270.0f, 350.0f, "WaterMark");
//specify WaterMark's font size
wg.StampFontSize = 20;
//specify WaterMark's font family
wg.StampFont = "Times New Roman";
//specify WaterMark's opacity
wg.StampFontTransparency = 1f;
//specify WaterMark's rotation
wg.StampRotation = 45.0f;
//specify WaterMark's color
wg.StampColorNET = new ADK.PDF.Color() { Red = 255, Green = 0, Blue = 0, Gray = 0 };
//specify directory for newly created file
wg.OutputDirectory = "E:/";
//specify file name
wg.NewDocumentName = "Sample.pdf";
//convert above sources to PDF file
wg.ConvertToPDF();
}
Imports APWebGrabber
Shared Sub Main(ByVal args() As String)
'Instantiate Object
Dim wg As New WebGrabber()
'HTML source for Page content
Dim html As String = "<h1 style='text-align:center'>WaterMark Example</h1>"
'assign page content source
wg.CreateFromHTMLText = html
'add text stamp as WaterMark
wg.AddStampText(270.0F, 350.0F, "WaterMark")
'specify WaterMark's font size
wg.StampFontSize = 20
'specify WaterMark's font family
wg.StampFont = "Times New Roman"
'specify WaterMark's opacity
wg.StampFontTransparency = 1F
'specify WaterMark's rotation
wg.StampRotation = 45.0F
'specify WaterMark's color
wg.StampColorNET = New ADK.PDF.Color() With {
.Red = 255,
.Green = 0,
.Blue = 0,
.Gray = 0
}
'specify directory for newly created file
wg.OutputDirectory = "E:/"
'specify file name
wg.NewDocumentName = "Sample.pdf"
'convert above sources to PDF file
wg.ConvertToPDF()
End Sub
$vbLabelText $csharpLabel
La capture d'écran suivante est du fichier Sample.pdf nouvellement généré.
6.3. Différence entre IronPDF et ActivePDF
IronPDF permet d'ajouter un filigrane en toute simplicité
IronPDF fournit des fonctions directes pour définir les propriétés du filigrane
ActivePDF WebGrabber a une structure de programmation complexe avec de nombreuses lignes de code à contourner
7. Définir les marges d'une page PDF
Supposons que nous ayons une simple page web nommée myHtmlFile.html dans notre Disque local E, qui a une largeur de 100% et une bordure de couleur noire. Nous allons générer un fichier PDF à partir de celui-ci et définir la marge de page. Commençons par IronPDF.
7.1. Les marges avec IronPDF
Pour définir les marges, IronPDF propose la classe ChromePdfRenderOptions, qui possède les propriétés suivantes :
MarginLeft pour définir la marge du côté gauche de la page.
MarginRight pour définir la marge depuis le côté droit de la page.
MarginTop pour définir la marge depuis le haut de la page.
MarginBottom pour définir une marge depuis le bas de la page.
Note : Par défaut, IronPDF définit une marge de 20 mm à gauche, en haut, à droite et en bas pour rendre la page plus lisible. Nous pouvons la définir à 0mm si nous n'en avons pas besoin.
/**
Set Margins
anchor-margins-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create html to PDF converter
var converter = new ChromePdfRenderer();
//specify left Margin
converter.RenderingOptions.MarginLeft = 50;
//specify top Margin
converter.RenderingOptions.MarginTop = 40;
//render html file to PDF
using var PDF = converter.RenderHTMLFileAsPdf("E:/myHtmlFile.html");
//save to the target location
PDF.SaveAs("E:/Sample.pdf");
}
/**
Set Margins
anchor-margins-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create html to PDF converter
var converter = new ChromePdfRenderer();
//specify left Margin
converter.RenderingOptions.MarginLeft = 50;
//specify top Margin
converter.RenderingOptions.MarginTop = 40;
//render html file to PDF
using var PDF = converter.RenderHTMLFileAsPdf("E:/myHtmlFile.html");
//save to the target location
PDF.SaveAs("E:/Sample.pdf");
}
'''
'''Set Margins
'''anchor-margins-with-ironpdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'create html to PDF converter
Dim converter = New ChromePdfRenderer()
'specify left Margin
converter.RenderingOptions.MarginLeft = 50
'specify top Margin
converter.RenderingOptions.MarginTop = 40
'render html file to PDF
Dim PDF = converter.RenderHTMLFileAsPdf("E:/myHtmlFile.html")
'save to the target location
PDF.SaveAs("E:/Sample.pdf")
End Sub
$vbLabelText $csharpLabel
La capture d'écran suivante est du fichier Sample.pdf nouvellement généré par le code ci-dessus :
Il peut être observé que la page PDF a 50mm depuis le côté gauche, 40 depuis le haut, et la marge du côté gauche est de 20mm qui est par défaut. Nous pouvons voir à quel point il est simple de définir la marge de n'importe quel côté en utilisant la classe ChromePdfRenderOptions de IronPDF.
En savoir plus sur les Paramètres de génération de PDF pour plus de détails : comment travailler avec les marges et d'autres propriétés du fichier PDF.
Nous allons maintenant définir la marge de la page en utilisant ActivePDF WebGrabber.
7.2. Marges avec ActivePDF
Pour définir les marges de page, ActivePDF WebGrabber fournit la fonction SetMargins(), et nous pouvons l'utiliser comme suit :
Nous utiliserons cette fonction pour définir la marge de la page :
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber()
//specify source HTML file path
wg.URL = "E:/myHtmlFile.html";
//Margins
wg.SetMargins(1, 0, 1.5f, 0);
//specify directory for newly created file
wg.OutputDirectory = "E:/";
//specify file name
wg.NewDocumentName = "Sample.pdf";
//convert HTML file to PDF
wg.ConvertToPDF();
}
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber()
//specify source HTML file path
wg.URL = "E:/myHtmlFile.html";
//Margins
wg.SetMargins(1, 0, 1.5f, 0);
//specify directory for newly created file
wg.OutputDirectory = "E:/";
//specify file name
wg.NewDocumentName = "Sample.pdf";
//convert HTML file to PDF
wg.ConvertToPDF();
}
Imports APWebGrabber
Shared Sub Main(ByVal args() As String)
'Instantiate Object
'INSTANT VB WARNING: An assignment within expression was extracted from the following statement:
'ORIGINAL LINE: WebGrabber wg = new WebGrabber() wg.URL = "E:/myHtmlFile.html";
New WebGrabber() wg.URL = "E:/myHtmlFile.html"
Dim wg As New WebGrabber() wg.URL
'Margins
wg.SetMargins(1, 0, 1.5F, 0)
'specify directory for newly created file
wg.OutputDirectory = "E:/"
'specify file name
wg.NewDocumentName = "Sample.pdf"
'convert HTML file to PDF
wg.ConvertToPDF()
End Sub
$vbLabelText $csharpLabel
La capture d'écran suivante est du fichier Sample.pdf nouvellement généré par le code ci-dessus :
Nous pouvons voir que la page PDF a une marge de 1.5f du côté gauche et de 1f du haut. En utilisant les deux composants, nous pouvons facilement définir les marges de la page selon nos besoins.
Dans cette comparaison, nous verrons comment définir l'en-tête et le pied de page d'un fichier PDF. Nous utiliserons les fonctions et les techniques fournies par les deux composants, grâce auxquelles nous pourrons imprimer des en-têtes et des pieds de page personnalisés sur les pages PDF de manière programmatique.
8.1. En-têtes et pieds de page avec IronPDF
IronPDF fournit les propriétés suivantes, qui peuvent être utilisées pour définir les en-têtes et les pieds de page :
LeftText : définit le texte de l'en-tête ou du pied de page sur le côté gauche.
CenterText : imprime le texte d'en-tête ou de pied de page au centre.
RightText : définit le texte de l'en-tête ou du pied de page sur le côté gauche.
FontFamily : définit la famille de polices du texte de l'en-tête ou du pied de page.
FontSize : définit la taille de la police du texte de l'en-tête ou du pied de page.
Espacement : définit l'espace entre le contenu de la page et l'en-tête ou le pied de page.
DrawDividerLine : il trace une ligne horizontale qui sépare le contenu de la page de l'en-tête ou du pied de page.
Nous pouvons utiliser les fonctions prédéfinies suivantes de IronPDF entre accolades {} pour l'en-tête ou le pied de page :
{page} il imprime le numéro de page actuel.
{total-pages} est utilisé pour imprimer le nombre total de pages d'un PDF.
{url} est utilisé pour imprimer l'URL du PDF rendu.
{date} est utilisé pour imprimer la date d'aujourd'hui.
{time} il affiche l'heure actuelle.
{html-title} il est utilisé pour imprimer le titre du fichier HTML rendu.
{pdf-title} définit le titre du document.
Examinons l'exemple suivant, dans lequel nous allons définir l'en-tête et le pied de page à l'aide des fonctions ci-dessus :
/**
Set Header Footers
anchor-headers-and-footers-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create html to PDF converter
var converter = new IronPdf.ChromePdfRenderer();
//Page Content source
string html = "<h1 style='text-align:center;'>Page Content</h2>";
//Assign source to converter
using var PDF = converter.RenderHtmlAsPdf(html);
//Add Header settings
converter.RenderingOptions.TextHeader = new TextHeaderFooter()
{
LeftText = "Header Text",
RightText = "{date} {time}",
DrawDividerLine=true,
FontSize=13
};
//Add Footer settings
converter.RenderingOptions.TextFooter = new TextHeaderFooter()
{
RightText = "Page {page} of {total-pages}",
FontSize = 12
};
//save to target location
PDF.SaveAs("E:/Sample.pdf");
}
/**
Set Header Footers
anchor-headers-and-footers-with-ironpdf
**/
using IronPdf;
static void Main(string [] args)
{
//create html to PDF converter
var converter = new IronPdf.ChromePdfRenderer();
//Page Content source
string html = "<h1 style='text-align:center;'>Page Content</h2>";
//Assign source to converter
using var PDF = converter.RenderHtmlAsPdf(html);
//Add Header settings
converter.RenderingOptions.TextHeader = new TextHeaderFooter()
{
LeftText = "Header Text",
RightText = "{date} {time}",
DrawDividerLine=true,
FontSize=13
};
//Add Footer settings
converter.RenderingOptions.TextFooter = new TextHeaderFooter()
{
RightText = "Page {page} of {total-pages}",
FontSize = 12
};
//save to target location
PDF.SaveAs("E:/Sample.pdf");
}
'''
'''Set Header Footers
'''anchor-headers-and-footers-with-ironpdf
'''*
Imports IronPdf
Shared Sub Main(ByVal args() As String)
'create html to PDF converter
Dim converter = New IronPdf.ChromePdfRenderer()
'Page Content source
Dim html As String = "<h1 style='text-align:center;'>Page Content</h2>"
'Assign source to converter
Dim PDF = converter.RenderHtmlAsPdf(html)
'Add Header settings
converter.RenderingOptions.TextHeader = New TextHeaderFooter() With {
.LeftText = "Header Text",
.RightText = "{date} {time}",
.DrawDividerLine=True,
.FontSize=13
}
'Add Footer settings
converter.RenderingOptions.TextFooter = New TextHeaderFooter() With {
.RightText = "Page {page} of {total-pages}",
.FontSize = 12
}
'save to target location
PDF.SaveAs("E:/Sample.pdf")
End Sub
$vbLabelText $csharpLabel
La capture d'écran suivante est du fichier Sample.pdf nouvellement généré par le code ci-dessus :
Nous constatons que
Le texte d'en-tête est imprimé sur le côté gauche de l'en-tête.
DateTime est imprimé sur le côté droit de l'en-tête.
Une ligne horizontale est tracée pour séparer l'en-tête du contenu de la page.
Page CurrentPage sur TotalPages du côté droit du pied de page.
Utilisons maintenant ActivePDF WebGrabber pour définir les en-têtes et les pieds de page :
8.2. En-têtes et pieds de page avec ActivePDF
ActivePDF WebGrabber fournit les propriétés HeaderHTML et FooterHTML pour définir respectivement l'en-tête et le pied de page. Le code HTML brut est transmis à ces propriétés en tant qu'en-tête ou pied de page. Contrairement à IronPDF, ActivePDF WebGrabber ne fournit pas de fonctions prédéfinies pour définir l'alignement de l'en-tête et du pied de page, nous devons donc le faire en utilisant les propriétés HTML et CSS comme suit :
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//Page content source
string html = @"<h1 style='text-align:center;'>Page Content</h2>";
//assign above source to WebGrabber
wg.CreateFromHTMLText = html;
//specify Footer height
wg.FooterHeight = 0.5f;
//Add Footer setting
wg.FooterHTML = "<div style='text-align: right;'>%cp% of %tp%</div>";
//create object for datetime
DateTime now = DateTime.Now;
//specify header height
wg.HeaderHeight = 0.5f;
//Add Header setting
wg.HeaderHTML = "<div style='float: left;'>Header Text</div>";
//append Header settings
wg.HeaderHTML = $"<div style='float: right;'>{DateTime.Now.ToShortDateString()} {DateTime.Now.ToShortTimeString()}</div>";
//specify directory for newly created file
wg.OutputDirectory = "E:/";
//specify file name
wg.NewDocumentName = "Sample.pdf";
//convert above sources to PDF file
wg.ConvertToPDF();
}
using APWebGrabber;
static void Main(string [] args)
{
//Instantiate Object
WebGrabber wg = new WebGrabber();
//Page content source
string html = @"<h1 style='text-align:center;'>Page Content</h2>";
//assign above source to WebGrabber
wg.CreateFromHTMLText = html;
//specify Footer height
wg.FooterHeight = 0.5f;
//Add Footer setting
wg.FooterHTML = "<div style='text-align: right;'>%cp% of %tp%</div>";
//create object for datetime
DateTime now = DateTime.Now;
//specify header height
wg.HeaderHeight = 0.5f;
//Add Header setting
wg.HeaderHTML = "<div style='float: left;'>Header Text</div>";
//append Header settings
wg.HeaderHTML = $"<div style='float: right;'>{DateTime.Now.ToShortDateString()} {DateTime.Now.ToShortTimeString()}</div>";
//specify directory for newly created file
wg.OutputDirectory = "E:/";
//specify file name
wg.NewDocumentName = "Sample.pdf";
//convert above sources to PDF file
wg.ConvertToPDF();
}
Imports APWebGrabber
Shared Sub Main(ByVal args() As String)
'Instantiate Object
Dim wg As New WebGrabber()
'Page content source
Dim html As String = "<h1 style='text-align:center;'>Page Content</h2>"
'assign above source to WebGrabber
wg.CreateFromHTMLText = html
'specify Footer height
wg.FooterHeight = 0.5F
'Add Footer setting
wg.FooterHTML = "<div style='text-align: right;'>%cp% of %tp%</div>"
'create object for datetime
Dim now As DateTime = DateTime.Now
'specify header height
wg.HeaderHeight = 0.5F
'Add Header setting
wg.HeaderHTML = "<div style='float: left;'>Header Text</div>"
'append Header settings
wg.HeaderHTML = $"<div style='float: right;'>{DateTime.Now.ToShortDateString()} {DateTime.Now.ToShortTimeString()}</div>"
'specify directory for newly created file
wg.OutputDirectory = "E:/"
'specify file name
wg.NewDocumentName = "Sample.pdf"
'convert above sources to PDF file
wg.ConvertToPDF()
End Sub
$vbLabelText $csharpLabel
La capture d'écran suivante est du fichier Sample.pdf nouvellement généré à partir du code ci-dessus :
ActivePDF WebGrabber n'a pas de fonction prédéfinie pour dessiner une ligne horizontale qui sépare l'en-tête du contenu de la page
ActivePDF nécessite l'utilisation de la fonction DateTime du framework .NET
IronPDF permet de définir simplement les propriétés de l'en-tête et du pied de page
9. Liste des composants ActivePDF
Name
Detail
ActivePDF DocConverter
It is used to convert popular file types to and from PDF format.
ActivePDF WebGrabber
It grabs the HTML from many sources and converts it to PDF files.
ActivePDF DocSpace
It provides Batch Process Automation, and a user interface for display, generate, converting, manipulating, and interacting with PDF and other file formats.
ActivePDF Toolkit
It is used to create, modify, view, extract, manipulate, and automate the document content to and from PDF files.
ActivePDF Portal
It enables the users to view and modify PDF documents from any source in a standard web browser.
ActivePDF CADConverter
It is used to convert CAD files into PDF.
ActivePDF Xtractor
It is used to extract and find the text and images from PDF files.
ActivePDF Spooler
It allows the developer to print the PDF file page on paper.
ActivePDF Redactor
It is used to hide sensitive information from the viewer.
ActivePDF Server
It provides the printing solution for different purposes.
10. Licences
ActivePDF ne fournit aucune information sur leurs packages sur leur site web ActivePDF. Pour obtenir des informations sur les licences, vous devez contacter leur représentant commercial. Cependant, vous devez savoir exactement quel type de licence de production vous recherchez. Elle ne fournit pas de liste de prix et, bien que les prix commencent à 1 180 dollars pour une licence annuelle, ils peuvent être plus élevés en fonction de l'étendue de l'utilisation et doivent être détaillés afin d'obtenir un devis.
IronPDF propose une tarification transparente avec des licences à partir de $749, avec de nombreuses options personnalisables. Contactez l'équipe si vous avez des questions.
Tutoriel Accès rapide
Explorer la référence de l'API IronPDF
Explorez la référence API de la bibliothèque C# d'IronPDF, y compris les détails de toutes les fonctionnalités, classes, champs de méthodes, espaces de noms et enums d'IronPDF.
Chaknith travaille sur IronXL et IronBarcode. Il possède une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, une documentation améliorée et une expérience globale enrichie.
< PRÉCÉDENT Tutoriel et comparaison d'Aspose PDF Converter
SUIVANT > SpirePDF C# HTML to PDF Tutoriel et comparaison des bibliothèques
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucun engagement de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre démo en direct gratuite
Fiable par plus de 2 millions d'ingénieurs dans le monde entier