Conversion HTML en PDF C
En tant que développeurs de IronPDF, nous comprenons que les documents PDF créés avec IronPDF doivent non seulement avoir un aspect parfait, mais aussi correspondre exactement à ce que nos clients attendent. Ce tutoriel PDF en C# vous apprendra à créer un convertisseur HTML en PDF pour vos applications, projets et sites web en C#. Nous développerons un convertisseur HTML en PDF en C#, et les documents PDF générés par IronPDF seront pixel par pixel identiques à ceux générés par le navigateur web Google Chrome.
IronPDF Caractéristiques :
Générer des PDF à partir de : HTML, URL, JavaScript, CSS et de nombreux formats d'image
Ajout d'en-têtes/pieds de page, de signatures, de pièces jointes, de mots de passe et de sécurité
- Optimisation des performances : Prise en charge complète du multithreading et de l'asynchronisme
Vue d'ensemble
Comment convertir HTML en PDF en C#
- Télécharger et installer la bibliothèque HTML to PDF C#
- Créer un PDF à partir d'une chaîne HTML
- Utilisez la méthode RenderHtmlAsPdf pour convertir une chaîne HTML en PDF
- Exporter un PDF à l'aide d'une URL existante
- Générer un PDF à partir d'une page HTML
- Ajouter des en-têtes et pieds de page personnalisés
- Appeler SaveAs pour enregistrer le fichier PDF sur l'ordinateur
- Plus d'informations
Convertisseur HTML en PDF pour C# & VB.NET
La création de fichiers PDF par programmation dans .NET peut être une tâche frustrante. Le format de fichier PDF a été conçu davantage pour les imprimeurs que pour les développeurs. De plus, C# n'intègre pas beaucoup de bibliothèques ou de fonctionnalités adaptées à la génération de PDF. De nombreuses bibliothèques disponibles sur le marché ne fonctionnent pas prêtes à l'emploi et sont source de frustration supplémentaire lorsqu'elles nécessitent plusieurs lignes de code pour accomplir une tâche simple.
L'outil de conversion HTML vers PDF en C# que nous utiliserons dans ce tutoriel est IronPDF d'Iron Software, une bibliothèque de génération et d'édition de PDF en C# très populaire. Cette bibliothèque possède des fonctionnalités complètes d'édition et de génération de fichiers PDF, elle est totalement prête à l'emploi, elle fait exactement ce que vous voulez qu'elle fasse en un minimum de lignes, et elle a une excellente documentation sur ses plus de 50 caractéristiques. IronPDF se distingue par la prise en charge de .NET 8, .NET 7, .NET 6 et .NET 5, .NET Core, Standard et Framework sur Windows, macOS, Linux, Docker, Azure et AWS.
Avec C# et IronPDF, la logique pour "générer un document PDF" ou "Conversion de HTML en PDF"est simple. Grâce au moteur de rendu Chrome avancé d'IronPDF, la majeure partie ou la totalité de la conception et de la mise en page du document PDF utilisera les ressources HTML existantes.
Cette méthode de génération dynamique de PDF dans .NET avec HTML5 fonctionne aussi bien dans les applications en console, les applications windows forms, WPF, que dans les sites web et MVC.
IronPDF prend également en charge le débogage de votre HTML avec Chrome pour des PDF Pixel Perfect. Un tutoriel pour la mise en place de ce système est disponible à l'adresse suivante ici.
IronPDF fonctionne dans plusieurs langages à la fois à l'extérieur et à l'intérieur de l'écosystème .NET.
- Guide F#
- Guide VB.NET
- Python
- Java
IronPDF nécessite une licence d'essai ou payante pour fonctionner. Vous pouvez acheter une licence ici ou s'inscrire à un clé d'essai gratuite de 30 jours ici.
Étape 1
Télécharger et installer la bibliothèque HTML to PDF C
Installer avec NuGet
Install-Package IronPdf
Télécharger DLL
Installation manuelle dans votre projet
Installer avec NuGet
Install-Package IronPdf
Télécharger DLL
Installation manuelle dans votre projet
Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit.
Découvrez IronPDF sur NuGet pour une installation rapide et un déploiement facile. Avec plus de 8 millions de téléchargements, il transforme PDF avec C#.
Install-Package IronPdf
Envisagez d'installer le IronPDF DLL directement. Téléchargez et installez-le manuellement pour votre projet ou sous forme de GAC : {{lienDllAfficher}}
Installation manuelle dans votre projet
Télécharger la DLLVisual Studio - NuGet Package Manager
Dans Visual Studio, faites un clic droit sur l'explorateur de solutions de votre projet et sélectionnez Manage NuGet Packages...
, A partir de là, recherchez simplement IronPDF et installez la dernière version dans votre solution... cliquez sur OK dans les boîtes de dialogue qui apparaissent. Cela fonctionnera tout aussi bien dans les projets VB.NET.
Install-Package IronPdf
IronPDF sur le site NuGet
Pour un aperçu complet des fonctionnalités, de la compatibilité et des téléchargements d'IronPDF, veuillez consulter IronPDF sur le site officiel de NuGet : https://www.nuget.org/packages/IronPdf
Installation via DLL
Une autre option consiste à installer directement la DLL IronPDF. IronPDF peut être téléchargé et installé manuellement dans le projet ou le GAC à partir de https://ironpdf.com/packages/IronPdf.zip
Tutoriels
Créer un PDF avec une chaîne HTML en C# .NET
*comment convertir une chaîne HTML en PDF?* Il est très efficace de créer un nouveau fichier PDF en C# : Convertir une chaîne HTML en PDF?* Il est très efficace et gratifiant de créer un nouveau fichier PDF en C#*.
Nous pouvons simplement utiliser la fonction ChromePdfRenderer.RenderHtmlAsPdf pour transformer n'importe quel fichier HTML (HTML5) dans un PDF. Le rendu HTML vers PDF C# est assuré par une version pleinement fonctionnelle du moteur Google Chromium, intégré à la DLL IronPDF.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-1.cs
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1> Hello IronPdf </h1>");
pdf.SaveAs("pixel-perfect.pdf");
Imports IronPdf
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderHtmlAsPdf("<h1> Hello IronPdf </h1>")
pdf.SaveAs("pixel-perfect.pdf")
RenderHtmlAsPdf
supporte entièrement HTML5, CSS3, JavaScript et les images. Si ces ressources se trouvent sur un disque dur, nous pouvons souhaiter définir le second paramètre de RenderHtmlAsPdf
dans le répertoire des ressources.
IronPDF rendra votre HTML exactement comme il apparaît dans Chrome
Nous avons un tutoriel complet pour vous permettre de configurer Chrome pour un débogage HTML complet afin de vous assurer que les changements que vous voyez lorsque vous éditez votre HTML, CSS et JavaScript sont parfaits au pixel près comme le PDF de sortie d'IronPDF lorsque vous choisissez de faire un rendu. Le tutoriel est disponible ici : Comment déboguer le HTML dans Chrome pour créer des PDF parfaits comme des pixels.
BaseUrlPath :
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-2.cs
using IronPdf;
// this will render C:\MyProject\Assets\image1.png
var pdf = renderer.RenderHtmlAsPdf("<img src='image1.png'/>", @"C:\MyProject\Assets\");
Imports IronPdf
' this will render C:\MyProject\Assets\image1.png
Private pdf = renderer.RenderHtmlAsPdf("<img src='image1.png'/>", "C:\MyProject\Assets\")
Toutes les feuilles de style CSS, les images et les fichiers JavaScript référencés seront relatifs au BaseUrlPath
et pourront être conservés dans une structure ordonnée et logique. Vous pouvez aussi, bien sûr, choisir de référencer des images, des feuilles de style et des ressources en ligne, y compris des polices web telles que Google Fonts et même jQuery.
Exporter un PDF à l'aide d'une URL existante
URL vers PDF
(URL vers PDF)
Le rendu d'URL existants sous forme de PDF avec C# est très efficace et intuitif. Cela permet également aux équipes de répartir la conception des PDF et le travail de rendu des PDF en arrière-plan entre plusieurs équipes.
Rendons une page de Wikipedia.com dans l'exemple suivant :
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-3.cs
using IronPdf;
// Create a PDF from any existing web page
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF");
pdf.SaveAs("wikipedia.pdf");
Imports IronPdf
' Create a PDF from any existing web page
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/PDF")
pdf.SaveAs("wikipedia.pdf")
Vous remarquerez que les liens hypertextes et même les formulaires HTML sont préservés dans le PDF généré par notre code C#.
Lors du rendu de pages web existantes, il existe quelques astuces que l'on peut souhaiter appliquer :
CSS pour l'impression et l'écran
Dans le CSS3 moderne, nous avons des directives css pour l'impression et l'écran. Nous pouvons demander à IronPDF de rendre les CSS "Print" qui sont souvent simplifiés ou négligés. Par défaut, les styles CSS "Screen" sont rendus, ce qui signifie que IronPDF ont trouvé les plus intuitifs.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-4.cs
using IronPdf;
using IronPdf.Rendering;
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen;
// or
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print;
Imports IronPdf
Imports IronPdf.Rendering
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Screen
' or
renderer.RenderingOptions.CssMediaType = PdfCssMediaType.Print
Page principale : Une comparaison complète avec des images d'écran et d'impression est disponible ici.
JavaScript
IronPDF prend en charge JavaScript, jQuery et même AJAX. Il se peut que nous devions donner des instructions IronPDF doit attendre pour JS ou ajax de terminer son exécution avant de rendre un instantané de notre page web.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-5.cs
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500); // milliseconds
IRON VB CONVERTER ERROR developers@ironsoftware.com
Nous pouvons démontrer la conformité avec la norme JavaScript en affichant un fichier d3.js JavaScript chord chart à partir d'un jeu de données CSV comme celui-ci :
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-6.cs
using IronPdf;
// Create a PDF Chart a live rendered dataset using d3.js and javascript
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006");
pdf.SaveAs("chart.pdf");
Imports IronPdf
' Create a PDF Chart a live rendered dataset using d3.js and javascript
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://bl.ocks.org/mbostock/4062006")
pdf.SaveAs("chart.pdf")
CSS réactif
HTML vers PDF en utilisant response CSS dans .NET! Pages web réactives sont conçus pour être visualisés dans un navigateur. IronPDF n'ouvre pas de véritable fenêtre de navigateur dans le système d'exploitation de votre serveur. Les éléments réactifs peuvent ainsi s'afficher dans leur plus petite taille.
Nous recommandons d'utiliser les types de médias css Print pour résoudre ce problème. Les feuilles de style CSS imprimées ne doivent normalement pas être réactives.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-7.cs
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
Générer un PDF à partir d'une page HTML
Nous pouvons également convertir n'importe quelle page HTML en PDF sur notre disque dur. Tous les éléments relatifs tels que CSS, images et js seront rendus comme si le fichier avait été ouvert à l'aide du protocole file://.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-8.cs
using IronPdf;
// Create a PDF from an existing HTML using C#
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html");
pdf.SaveAs("Invoice.pdf");
Imports IronPdf
' Create a PDF from an existing HTML using C#
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderHtmlFileAsPdf("Assets/TestInvoice1.html")
pdf.SaveAs("Invoice.pdf")
Cette méthode présente l'avantage de permettre au développeur de tester le contenu HTML dans un navigateur pendant le développement. Nous recommandons Chrome car c'est le navigateur web sur lequel est basé le moteur de rendu d'IronPDF.
Pour convertir XML to PDF vous pouvez utiliser un modèle XSLT pour imprimer votre contenu XML au format PDF.
Ajouter des en-têtes et pieds de page personnalisés
Des en-têtes et des pieds de page peuvent être ajoutés aux PDF lors de leur rendu, ou à des fichiers PDF existants à l'aide d'IronPDF.
Avec IronPDF, les en-têtes et les pieds de page peuvent contenir du texte simple en utilisant la classe TextHeaderFooter
- ou des images et du contenu HTML riche en utilisant la classe HtmlHeaderFooter
.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-9.cs
using IronPdf;
// Create a PDF from an existing HTML
var renderer = new ChromePdfRenderer
{
RenderingOptions =
{
MarginTop = 50, //millimeters
MarginBottom = 50,
CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print,
TextHeader = new TextHeaderFooter
{
CenterText = "{pdf-title}",
DrawDividerLine = true,
FontSize = 16
},
TextFooter = new TextHeaderFooter
{
LeftText = "{date} {time}",
RightText = "Page {page} of {total-pages}",
DrawDividerLine = true,
FontSize = 14
}
}
};
var pdf = renderer.RenderHtmlFileAsPdf("assets/TestInvoice1.html");
pdf.SaveAs("Invoice.pdf");
// This neat trick opens our PDF file so we can see the result
System.Diagnostics.Process.Start("Invoice.pdf");
Imports IronPdf
' Create a PDF from an existing HTML
Private renderer = New ChromePdfRenderer With {
.RenderingOptions = {
MarginTop = 50, MarginBottom = 50, CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print, TextHeader = New TextHeaderFooter With {
.CenterText = "{pdf-title}",
.DrawDividerLine = True,
.FontSize = 16
},
TextFooter = New TextHeaderFooter With {
.LeftText = "{date} {time}",
.RightText = "Page {page} of {total-pages}",
.DrawDividerLine = True,
.FontSize = 14
}
}
}
Private pdf = renderer.RenderHtmlFileAsPdf("assets/TestInvoice1.html")
pdf.SaveAs("Invoice.pdf")
' This neat trick opens our PDF file so we can see the result
System.Diagnostics.Process.Start("Invoice.pdf")
Découvrez toutes les options de rendu dans l'article pratique suivant : Comment utiliser les options de rendu.
En-têtes et pieds de page HTML
La classe HtmlHeaderFooter
permet de générer des en-têtes et des pieds de page riches en utilisant du contenu HTML5 qui peut même inclure des images, des feuilles de style et des liens hypertextes.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-10.cs
using IronPdf;
renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"
};
Imports IronPdf
renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {.HtmlFragment = "<div style='text-align:right'><em style='color:pink'>page {page} of {total-pages}</em></div>"}
Données dynamiques dans les en-têtes et pieds de page des PDF
Nous pouvons "fusionner" du contenu dans le texte et même dans le code HTML des en-têtes et des pieds de page à l'aide de caractères de remplacement tels que :
- {page} pour le numéro de page actuel
- {nombre total de pages} pour le nombre total de pages du PDF
- {url} pour l'URL du PDF rendu s'il est rendu à partir d'une page web
- {date} pour la date du jour
- {temps} pour l'heure actuelle
- {titre html} pour l'attribut title du document HTML rendu
- {titre du pdf} pour le titre du document, qui peut être défini via ChromePdfRenderOptions
Paramètres de conversion HTML vers PDF en C
Il existe de nombreuses nuances dans la manière dont nos utilisateurs et nos clients peuvent s'attendre à ce que le contenu PDF soit rendu.
La classe ChromePdfRenderer
contient une propriété RenderingOptions qui peut être utilisée pour définir ces options.
Par exemple, nous pouvons choisir de n'accepter que les directives CSS3 de style "print
" :
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-11.cs
using IronPdf;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
Imports IronPdf
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
Nous pouvons également souhaiter modifier la taille de nos marges d'impression afin de créer plus d'espace blanc sur la page, de faire de la place pour de grands en-têtes ou pieds de page, ou même de définir des marges nulles pour l'impression commerciale de brochures ou d'affiches :
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-12.cs
using IronPdf;
renderer.RenderingOptions.MarginTop = 50; // millimeters
renderer.RenderingOptions.MarginBottom = 50; // millimeters
Imports IronPdf
renderer.RenderingOptions.MarginTop = 50 ' millimeters
renderer.RenderingOptions.MarginBottom = 50 ' millimeters
Nous pouvons souhaiter activer ou désactiver les images d'arrière-plan des éléments HTML :
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-13.cs
using IronPdf;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
Imports IronPdf
renderer.RenderingOptions.PrintHtmlBackgrounds = True
Il est également possible de paramétrer nos PDF de sortie pour qu'ils soient rendus sur n'importe quel format de papier virtuel - y compris les formats portrait et paysage et même les formats personnalisés qui peuvent être définis en millimètres ou en pouces.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-14.cs
using IronPdf;
using IronPdf.Rendering;
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
Imports IronPdf
Imports IronPdf.Rendering
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape
Découvrez toutes les options de rendu dans l'article pratique suivant :Comment utiliser les options de rendu."
Appliquer le modèle HTML
La création de modèles ou de lots de PDF est une exigence courante pour les développeurs d'Internet et de sites web.
Plutôt que de modeler un document PDF lui-même, IronPDF nous permet de modeler notre HTML en utilisant des technologies existantes et éprouvées. Lorsque le modèle HTML est combiné avec des données provenant d'une chaîne de requête ou d'une base de données, nous obtenons un document PDF généré de manière dynamique.
Dans le cas le plus simple, l'utilisation de la méthode C# String.Format est efficace pour l'échantillon de base.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-15.cs
using System;
String.Format("<h1>Hello {0} !</h1>", "World");
Imports System
String.Format("<h1>Hello {0} !</h1>", "World")
Si le fichier HTML est plus long, nous pouvons souvent utiliser des caractères de remplacement arbitraires tels que [[NOM]]
et les remplacer par de vraies données plus tard.
L'exemple suivant créera 3 PDF, chacun personnalisé pour un utilisateur.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-16.cs
var htmlTemplate = "<p>[[NAME]]</p>";
var names = new[] { "John", "James", "Jenny" };
foreach (var name in names)
{
var htmlInstance = htmlTemplate.Replace("[[NAME]]", name);
var pdf = renderer.RenderHtmlAsPdf(htmlInstance);
pdf.SaveAs(name + ".pdf");
}
Dim htmlTemplate = "<p>[[NAME]]</p>"
Dim names = { "John", "James", "Jenny" }
For Each name In names
Dim htmlInstance = htmlTemplate.Replace("[[NAME]]", name)
Dim pdf = renderer.RenderHtmlAsPdf(htmlInstance)
pdf.SaveAs(name & ".pdf")
Next name
Templating avancé avec Handlebars.NET
Une méthode sophistiquée pour fusionner des données C# avec du HTML pour la génération de PDF consiste à utiliser la norme Handlebars Templating.
Handlebars permet de créer du HTML dynamique à partir d'objets C# et d'instances de classe, y compris des enregistrements de base de données. Handlebars est particulièrement efficace lorsqu'une requête peut renvoyer un nombre inconnu de lignes, par exemple lors de la génération d'une facture.
Nous devons d'abord ajouter un package NuGet supplémentaire à notre projet : https://www.nuget.org/packages/Handlebars.NET/
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-17.cs
var source =
@"<div class=""entry"">
<h1>{{title}}</h1>
<div class=""body"">
{{body}}
</div>
</div>";
var template = Handlebars.Compile(source);
var data = (title: "My new post", body: "This is my first post!");
var result = template(data);
/* Would render:
<div class="entry">
<h1>My New Post</h1>
<div class="body">
This is my first post!
</div>
</div>
*/
Dim source = "<div class=""entry"">
<h1>{{title}}</h1>
<div class=""body"">
{{body}}
</div>
</div>"
Dim template = Handlebars.Compile(source)
Dim data = (title:= "My new post", body:= "This is my first post!")
Dim result = template(data)
' Would render:
'<div class="entry">
' <h1>My New Post</h1>
' <div class="body">
' This is my first post!
' </div>
'</div>
'
Pour rendre ce HTML, nous pouvons simplement utiliser la méthode RenderHtmlAsPdf
.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-18.cs
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf(htmlInstance);
pdf.SaveAs("Handlebars.pdf");
Imports IronPdf
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderHtmlAsPdf(htmlInstance)
pdf.SaveAs("Handlebars.pdf")
Pour en savoir plus sur la norme de templating html handlebars et son utilisation en C#, consultez le site https://github.com/rexm/Handlebars.NET
Ajouter des sauts de page avec HTML5
La pagination est une exigence courante dans les documents PDF. Les développeurs doivent contrôler les points de départ et d'arrivée des pages PDF afin d'obtenir une mise en page claire et lisible.
Le moyen le plus simple d'y parvenir est d'utiliser une astuce CSS moins connue qui permet de créer un saut de page dans n'importe quel document HTML imprimé.
<div style='page-break-after: always;'> </div>
<div style='page-break-after: always;'> </div>
Le code HTML fourni fonctionne, mais n'est pas une bonne pratique. Nous conseillons d'ajuster l'attribut media comme dans l'exemple suivant. C'est une façon claire et nette de mettre en page un contenu HTML multipage.
<!DOCTYPE html>
<html>
<head>
<style type="text/css" media="print">
.page{
page-break-after: always;
page-break-inside: avoid;
}
</style>
</head>
<body>
<div class="page">
<h1>This is Page 1</h1>
</div>
<div class="page">
<h1>This is Page 2</h1>
</div>
<div class="page">
<h1>This is Page 3</h1>
</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<style type="text/css" media="print">
.page{
page-break-after: always;
page-break-inside: avoid;
}
</style>
</head>
<body>
<div class="page">
<h1>This is Page 1</h1>
</div>
<div class="page">
<h1>This is Page 2</h1>
</div>
<div class="page">
<h1>This is Page 3</h1>
</div>
</body>
</html>
Les grandes lignes du mode d'emploi plus trucs et astuces avec les sauts de page
Joindre une page de couverture à un PDF
IronPDF facilite la fusion de documents PDF. L'utilisation la plus courante de cette technique est l'ajout d'une page de couverture ou d'une page de garde à un document PDF rendu existant.
Pour ce faire, nous rendons d'abord une page de couverture, puis nous utilisons la fonction PdfDocument.Merge()
méthode statique pour combiner les 2 documents.
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-19.cs
using IronPdf;
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/");
var pdfMerged = PdfDocument.Merge(new PdfDocument("CoverPage.pdf"), pdf).SaveAs("Combined.Pdf");
Imports IronPdf
Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf/")
Private pdfMerged = PdfDocument.Merge(New PdfDocument("CoverPage.pdf"), pdf).SaveAs("Combined.Pdf")
Un exemple de code complet est disponible ici : Exemple de code pour la page de couverture d'un document PDF
Ajouter un filigrane
Un dernier C# PDF ironPDF permet d'ajouter un filigrane aux documents. Cette fonction permet d'ajouter à chaque page un avis indiquant qu'un document est "confidentiel" ou "échantillon".
:path=/static-assets/pdf/content-code-examples/tutorials/html-to-pdf-20.cs
using IronPdf;
using IronPdf.Editing;
var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf");
// Watermarks all pages with red "SAMPLE" text at a custom location.
// Also adding a link to the watermark on-click
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 0, VerticalAlignment.Middle, HorizontalAlignment.Center);
pdf.SaveAs(@"C:\Path\To\Watermarked.pdf");
Imports IronPdf
Imports IronPdf.Editing
Private renderer = New ChromePdfRenderer()
Private pdf = renderer.RenderUrlAsPdf("https://www.nuget.org/packages/IronPdf")
' Watermarks all pages with red "SAMPLE" text at a custom location.
' Also adding a link to the watermark on-click
pdf.ApplyWatermark("<h2 style='color:red'>SAMPLE</h2>", 0, VerticalAlignment.Middle, HorizontalAlignment.Center)
pdf.SaveAs("C:\Path\To\Watermarked.pdf")
Un exemple de code complet est disponible ici : Exemple de code de tatouage PDF
Télécharger le code source C
Le convertisseur gratuit HTML en PDF Code Source C# complet de ce tutoriel est disponible au téléchargement sous la forme d'un fichier projet Visual Studio 2022 zippé. Il utilisera son moteur de rendu pour générer des objets de document PDF en C#.
Télécharger ce tutoriel en tant que projet Visual Studio
Le téléchargement gratuit contient tout ce dont vous avez besoin pour créer un PDF à partir de HTML - y compris des exemples de code C# pour PDF :
Convertir une chaîne HTML en PDF à l'aide de C#
Conversion d'un fichier HTML en PDF en C# (supportant les CSS, JavaScript et les images)
C# HTML vers PDF à l'aide d'une URL ("URL vers PDF")
Exemples d'édition et de paramétrage de PDF en C#
Rendre des graphiques en toile JavaScript tels que d3.js dans un PDF
- La bibliothèque PDF pour C#
Référence de la classe
Les développeurs peuvent également être intéressés par la référence de la classe IronPdf.PdfDocument
:
https://ironpdf.com/object-reference/api/IronPdf.PdfDocument.html
Ce modèle d'objet montre comment les documents PDF peuvent être :
- Cryptée et protégée par un mot de passe
- Modifié ou "estampillé" avec un nouveau contenu HTML
- Amélioré avec des images d'avant-plan et d'arrière-plan
- Fusionné, joint, tronqué et épissé au niveau d'une page ou d'un document
Traitement OCR pour l'extraction de textes et d'images en clair
Blazor HTML vers PDF
L'ajout de la fonctionnalité HTML vers PDF à votre serveur Blazor est simple et facile :
Créer un nouveau projet de serveur Blazor ou utiliser un projet existant
Ajoutez la bibliothèque IronPDF à votre projet à l'aide de NuGet
Ajouter un nouveau composant Razor ou utiliser un composant existant
Ajouter une
InputTextArea
et la lier à IronPDFLaissez IronPDF s'occuper du reste et déployez
Le guide complet, étape par étape, avec des images et des exemples de code, est disponible à l'adresse suivante ici.
Comparaison avec d'autres bibliothèques PDF
PDFSharp
PDFSharp est une bibliothèque open source gratuite qui permet l'édition logique et la création de documents PDF dans .NET.
L'une des principales différences entre PDFSharp et IronPDF est qu'IronPDF dispose d'un navigateur Web intégré qui permet de créer fidèlement des PDF à partir de HTML, de CSS, de JS et d'images.
L'API IronPDF diffère également de PDFSharp en ce qu'elle est basée sur des cas d'utilisation plutôt que sur la structure technique des documents PDF. Nombreux sont ceux qui trouvent cette méthode plus logique et plus intuitive.
Il peut convertir du HTML en PDF, mais la conversion du HTML en PDF est limitée : y compris les fichiers .html en fichiers PDF.
wkhtmltopdf
wkhtmltopdf est une bibliothèque libre et gratuite écrite en C++ qui permet de rendre des documents PDF à partir de HTML.
L'une des principales différences entre wkhtmltopdf et IronPDF est qu'IronPDF est écrit en C# et qu'il est stable et sûr pour une utilisation dans les applications et les sites Web .NET.
IronPDF prend également en charge CSS3 et HTML5, alors que wkhtmltopdf est dépassé de près d'une décennie.
L'API d'IronPDF diffère également de celle de wkhtmltopdf en ce sens qu'elle dispose d'une API étendue et avancée permettant d'éditer, de manipuler, de compresser, d'importer, d'exporter, de signer, de sécuriser et d'apposer un filigrane sur les documents PDF.
La conversion de HTML en PDF avec wkhtmltopdf est stable mais utilise un moteur de rendu très obsolète.
iTextSharp
iTextSharp est un portage partiel open source de la bibliothèque java iText pour la génération et l'édition de PDF. Convertir HTML en PDF- c'est possible, mais j'ai remarqué que son rendu était limité à ce qui est disponible en Java ou utilise la conversion HTML en PDF de wkhtmltopdf sous la licence LGPL open sourced.
Une différence essentielle avec la conversion de HTML en PDF entre C# iTextSharp et IronPDF est qu'IronPDF a un rendu HTML-To-PDF plus avancé et plus précis en utilisant un navigateur web intégré basé sur Chrome plutôt que l'ancien wkhtmltopdf utilisé dans iText.
L'API IronPDF diffère également d'iTextSharp en ce sens qu'IronPDF dispose de licences explicites pour un usage commercial ou privé, alors que la licence AGLP d'iTextSharp ne convient qu'aux applications dans lesquelles le code source complet est présenté gratuitement à tous les utilisateurs, même à ceux qui se trouvent sur Internet.
Une analyse complète des différences est disponible dans notre iTextSharp Page de documentation sur le C#.
Autres bibliothèques commerciales
Aspose PDF, Spire PDF, EO PDF et SelectPdf sont des bibliothèques PDF commerciales .NET concurrentes d'autres fournisseurs. IronPDF dispose d'un ensemble de fonctionnalités relativement important, d'une excellente compatibilité, d'une documentation bien rédigée et d'un prix raisonnable. Vous pouvez voir la comparaison entre IronPDF, ses concurrents et Chrome lui-même ici.
Regarder la vidéo du tutoriel HTML vers PDF
Avec le document PDF, vous pouvez visiter le lien suivant pour apprendre comment ouvrir un PDF dans Chrome sans le télécharger.Tutoriel Accès rapide
Télécharger ce tutoriel sous forme de code source C#
Le code source C# complet et gratuit de ce tutoriel peut être téléchargé sous la forme d'un fichier de projet Visual Studio zippé.
TéléchargerExplorer ce tutoriel sur GitHub
Le code source de ce projet est disponible en C# et VB.NET sur GitHub.
Utilisez ce code comme un moyen facile d'être opérationnel en quelques minutes. Le projet est enregistré en tant que projet Microsoft Visual Studio 2017, mais il est compatible avec n'importe quel IDE .NET.
C# HTML vers PDF VB.NET HTML vers PDFTélécharger the C# PDF Quickstart guide
Pour faciliter le développement de PDF dans vos applications .NET, nous avons compilé un guide de démarrage rapide sous forme de document PDF. Ce "Cheat-Sheet" fournit un accès rapide aux fonctions et exemples courants pour générer et éditer des PDF en C# et VB.NET - et peut aider à gagner du temps pour commencer à utiliser IronPDF dans votre projet .NET.
TéléchargerVoir la référence de l'API
Explorez la référence API d'IronPDF, qui décrit en détail toutes les fonctionnalités, les espaces de noms, les classes, les méthodes, les champs et les énums d'IronPDF.
Voir la référence de l'API