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
Kannapat Udonpant
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 de définir ses propriétés(comme En-tête, Pied de page, Marge ou Filigrane).
ironPDF` est unBibliothèque PDF C# l'agence de traduction de l'Union européenne (UE) propose également ces fonctions à des prix 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 proposeIronPDF à utiliser 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 un éditeur de logiciels qui fournit de nombreux composants pour traiter 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. Pourcréer des PDF à partir de sources HTMLla traduction doit rester professionnelle, en préservant la précision technique tout en expliquant les caractéristiques et les avantages de ces outils de développement.
Dans cet article, nous utiliserons ActivePDF WebGrabber pour le comparer à IronPDF :
ActivePDF WebGrabber pour la création de PDF
ActivePDF WebGrabber est un composant séparé d'ActivePDF spécifiquement utilisé pour générer des fichiers PDF à partir de sources HTML telles qu'une URL, un fichier HTML ou une 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 convertit les sources HTML en fichiers PDF.
ActivePDF convertit les sources HTML en fichiers PDF.
IronPDF prend en charge .NET Core.
ActivePDF ne prend pas en charge .NET Core.
IronPDF est compatible avec .NET 4.0 ou une version plus récente.
ActivePDF est compatible avec .NET 4.6.2 ou supérieur.
IronPDF prend en charge macOS.
ActivePDF n'est pas compatible avec macOS.
IronPDF peut appliquer le CSS pour définir les propriétés du WaterMark.
ActivePDF ne prend pas en charge les feuilles de style CSS pour définir les propriétés du filigrane.
IronPDF peut définir l'orientation du papier des fichiers PDF.
ActivePDF peut définir l'orientation du papier des fichiers PDF.
IronPDF fournit les services suivants Délai de rendu pour retarder la conversion du PDF.
ActivePDF fournit le Intervalle de temps pour retarder la conversion du PDF.
IronPDF fournit des fonctions prédéfinies pour définir l'en-tête ou le pied de page.
ActivePDF exige que l'en-tête et le pied de page soient définis à l'aide de HTML et de CSS bruts.
IronPDF propose une fonction prédéfinie permettant de tracer une ligne horizontale pour séparer le contenu.
ActivePDF ne prévoit pas de ligne pour séparer les en-têtes et les pieds de page.
Pour enregistrer le fichier PDF, nous pouvons définir le répertoire et le nom du fichier en une seule ligne.
Nous devons définir le répertoire et le nom du fichier séparément.
Besoin d'écrire moins de lignes de code avec une structure de programmation simple.
Nécessité d'écrire de nombreuses lignes de code.
La licence commence à partir de $749.
La licence commence à partir de 80.
É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 :
Aller dans tools (outils)
Sélectionnez la console du gestionnaire de paquets
Si vous pouvez accéder à IronPDF en écrivant using IronPdf; namespace, cela signifie qu'IronPDF a été importé avec succès dans votre projet et qu'il est prêt à être utilisé.
Comment installer WebGrabber
Télécharger WebGrabber-install.execliquez sur le bouton "Télécharger", puis sélectionnez "Télécharger le fichier". Une fois le téléchargement effectué, double-cliquez sur le fichier téléchargé. Demandez ensuite une clé d'activation à ActivePDF pour l'utiliser 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 :
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 utilisant APWebGrabber; namespace, cela signifie qu'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 d'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
Output:
Le code ci-dessus créera un fichier PDF sample.pdf dans Local Disk E: et sa capture d'écran est la suivante :
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 représente 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 suivant : nous devons générer un fichier PDF à partir d'un fichier HTML nommé "myHtmlFile.html" qui existe dans le répertoire "E:/" et qui contient le code HTML et CSS suivant :
Nous allons maintenant convertir le fichier myHtmlFile.html en 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 montre le fichier Sample.pdf nouvellement généré à l'aide du 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 ont également été appliqués.
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 montre le fichier Sample.pdf nouvellement généré à l'aide du 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 montre le fichier Sample.pdf nouvellement généré par le code ci-dessus
Vous pouvez visiter la page web de laExemple d'URL pour comparer et voir dans quelle mesure le fichier IronPDF correspond.
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 montre le 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 la fonction WaterMarkLocation pour placer le WaterMark sur les positions suivantes :
TopLeft
TopCenter
TopRight
MilieuGauche
MilieuCentre
MilieuDroite
BasGauche
BottomCenter
Droit inférieur
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 montre le 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 IronPDF ActivePDF
ActivePDF WebGrabber ne fournit pas de fonction spécifique pour WaterMark, contrairement à IronPDF. Mais nous pouvons utiliser la fonction AddStampText(), qui constitue une solution de contournement à cette fin :
AddStampText(float x, float y, string stampText);
float x pour définir la coordonnée x de l'origine du nouveau TextStamp.
float y pour définir la coordonnée y de l'origine du nouveau TextStamp.
stampText il s'agit du texte actuel du TextStamp.
Note: ActivePDF WebGrabber ne prend pas en charge le style CSS pour TextStamp. Nous devons le définir à l'aide 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 montre le 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 border 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 fournit 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 du côté droit de la page.
MarginTop pour définir la marge à partir du haut de la page.
MarginBottom pour définir une marge à partir du bas de la page.
Note: Par défaut, IronPDF définit une marge de 20 mm à partir de la gauche, du haut, de la droite et du bas pour rendre la page plus lisible. Nous pouvons le mettre à 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 montre le fichier Sample.pdf nouvellement généré par le code ci-dessus :
On peut voir que la page PDF a 50mm du côté gauche, 40 du haut, et que la marge du côté gauche est de 20mm, ce 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 d'IronPDF.
En savoir plusParamètres de génération de PDF pour plus de détails : comment travailler avec les marges et 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 la 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 montre le 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 à gauche et de 1f en haut. En utilisant ces deux composants, nous pouvons facilement définir les marges des pages en fonction de 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 de l'en-tête ou du 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: dessine 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 d'IronPDF entre parenthèses {} pour l'en-tête ou le pied de page :
{page} Il imprime le numéro de la page en cours.
{nombre total de pages} Il est utilisé pour imprimer le nombre total de pages d'un PDF.
{url} Il est utilisé pour imprimer l'URL du PDF rendu.
{date} il est utilisé pour imprimer la date du jour.
{temps} il imprime l'heure actuelle.
{titre html} Il est utilisé pour imprimer le titre du fichier HTML rendu.
{titre du pdf} Il 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 montre le fichier Sample.pdf nouvellement généré par le code ci-dessus :
Nous constatons que
le texte de l'en-tête est imprimé sur le côté gauche de l'en-tête.
la date est imprimée à droite 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 of TotalPages sur le côté droit du Footer.
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 montre le 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
Nom
Détail
ActivePDF DocConverter
Il est utilisé pour convertir les types de fichiers les plus courants au format PDF et à partir de celui-ci.
ActivePDF WebGrabber
Il récupère le HTML à partir de nombreuses sources et le convertit en fichiers PDF.
ActivePDF DocSpace
Il offre une automatisation des processus par lots et une interface utilisateur permettant d'afficher, de générer, de convertir, de manipuler et d'interagir avec le format PDF et d'autres formats de fichiers.
Boîte à outils ActivePDF
Il est utilisé pour créer, modifier, visualiser, extraire, manipuler et automatiser le contenu des documents vers et depuis les fichiers PDF.
Portail ActivePDF
Il permet aux utilisateurs de visualiser et de modifier des documents PDF à partir de n'importe quelle source dans un navigateur web standard.
ActivePDF CADConverter
Il est utilisé pour convertir les fichiers CAO en PDF.
ActivePDF Xtractor
Il est utilisé pour extraire et trouver le texte et les images des fichiers PDF.
Spooler ActivePDF
Il permet au développeur d'imprimer la page du fichier PDF sur du papier.
ActivePDF Redactor
Il est utilisé pour cacher des informations sensibles à l'observateur.
Serveur ActivePDF
Il fournit une solution d'impression pour différents usages.
10. Licences
ActivePDF ne fournit aucune information sur ses paquets sur son site webSite web d'ActivePDF. Pour obtenir des informations sur les licences, vous devezcontact leur vendeur. 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 aveclicences de $749avec 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.
Avant de devenir ingénieur logiciel, Kannapat a obtenu un doctorat en ressources environnementales à l'université d'Hokkaido au Japon. Tout en poursuivant ses études, Kannapat est également devenu membre du Vehicle Robotics Laboratory, qui fait partie du Department of Bioproduction Engineering (département d'ingénierie de la bioproduction). En 2022, il a mis à profit ses compétences en C# pour rejoindre l'équipe d'ingénieurs d'Iron Software, où il se concentre sur IronPDF. Kannapat apprécie son travail car il apprend directement auprès du développeur qui écrit la majeure partie du code utilisé dans IronPDF. Outre l'apprentissage par les pairs, Kannapat apprécie l'aspect social du travail chez Iron Software. Lorsqu'il n'écrit pas de code ou de documentation, Kannapat peut généralement être trouvé en train de jouer sur sa PS5 ou de revoir The Last of Us.
< 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