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");
iTextsharp HTML to PDF With CSS Styles C# Example vs IronPDF
Regan Pun
novembre 13, 2023
Partager:
La conversion d'un fichier HTML en PDF à l'aide de CSS en C# est une exigence courante dans le développement d'applications web et bureautiques modernes. Il permet aux développeurs de transformer des pages web, des rapports ou des documents formatés en fichiers PDF, ce qui est essentiel pour des tâches telles que la génération de factures, la création de rapports imprimables ou l'archivage du contenu de vos pages web. Dans ce guide complet, nous allons explorer deux bibliothèques C# populaires pour la conversion de HTML en PDF.
Bibliothèques pour la conversion de HTML en PDF
iTextSharp
iTextSharp est une bibliothèque open-source réputée, couramment utilisée pour créer et manipuler des documents PDF en C#. Aujourd'hui, il est connu sous le nom d'iText7. Bien que son objectif premier ne soit pas la conversion de HTML en PDF, son ensemble de fonctionnalités robustes en fait une option flexible à cette fin. Il propose pdfHTML, un module complémentaire qui permet aux développeurs de générer, de convertir et de personnaliser des documents PDF de manière programmatique à l'aide d'extraits HTML et de feuilles de style CSS.
Bien qu'iText7 offre un contrôle fin sur le processus de génération de PDF, il peut nécessiter des efforts supplémentaires lorsqu'il s'agit d'images avec des mises en page HTML complexes et des polices avec un style CSS complexe.
IronPDF
Découvrez les capacités d'IronPDF en tant que bibliothèque C# dédiée, conçue spécifiquement pour la génération de PDF et pour la conversion de pages HTML au format PDF. Il se concentre sur la simplification du processus de conversion de contenu HTML avec CSS en fichiers PDF, ce qui en fait un excellent choix pour les tâches simples de conversion de HTML en PDF.
L'approche d'IronPDF est idéale pour les scénarios dans lesquels vous avez besoin d'une conversion sans problème sans rencontrer les complexités de la construction d'un document PDF. Elle simplifie le processus pour les développeurs et permet une mise en œuvre rapide de nouveaux documents avec des sauts de page.
Installation et configuration
Avant de nous plonger dans les détails de la comparaison, examinons brièvement comment mettre en place ces bibliothèques dans votre projet C#.
Installation de iTextSharp
Pour installeriTextSharp (iText7) à l'aide du gestionnaire de paquets NuGet, procédez comme suit :
Créer un nouveau projet dansVisual Studio ou d'en ouvrir une existante.
Cliquez avec le bouton droit de la souris sur votre projet dans l'explorateur de solutions et sélectionnez "Gérer les packages NuGet" ou cliquez sur le menu Outils et sélectionnez NuGet Package Manager --> Gérer les packages NuGet pour la solution.
Dans la fenêtre "NuGet Package Manager", passez à l'onglet "Browse".
Recherchez "iText7.pdfhtml" et sélectionnez "iText7.pdfhtml" dans les résultats de la recherche.
Cliquez sur le bouton "Installer" pour ajouter le convertisseur iText7 HTML2PDF à votre projet.
Une autre dépendance importante est nécessaire pour utiliser le convertisseur HTML, à savoir "itext7.bouncy-castle-adapter". Le module itext7.bouncy-castle-adapter est nécessaire pour itext7.pdfhtml car il fournit des algorithmes cryptographiques et des fonctions de sécurité qui sont utilisés dans le processus de création et de manipulation des documents PDF.
Recherchez "itext7.bouncy-castle-adapter" et sélectionnez "itext7.bouncy-castle-adapter to install"
Créez un nouveau projet dans Visual Studio ou ouvrez un projet existant.
Faites un clic droit sur votre projet dans l'explorateur de solutions et sélectionnez "Gérer les paquets NuGet" ou cliquez sur le menu Outils et sélectionnez NuGet Package Manager -> Gérer les paquets NuGet pour la solution.
Dans la fenêtre "NuGet Package Manager", passez à l'onglet "Browse".
Recherchez "IronPDF" et sélectionnez "IronPdf" dans les résultats de la recherche.
Cliquez sur le bouton "Installer" pour ajouter IronPDF à votre projet.
Convertir HTML en PDF avec iTextSharp
iText7.pdfHTML offre une approche flexible de la gestion de l'informationConversion de HTML en PDF avec iTextSharpqui permet aux développeurs de contrôler le processus de génération des PDF. Voici le code source permettant de convertir un fichier HTML en PDF :
using iText.Html2pdf;
// Input HTML page content with CSS styling
var html = "<html><head><style>body { font-family: Arial, sans-serif; }</style></head><body><h1>Hello, iText 7!</h1><p>This is a sample HTML to PDF conversion.</p></body></html>";
// Output PDF file path
string outputPdfPath = "results/output.pdf";
HtmlConverter.ConvertToPdf(html, new FileStream(outputPdfPath, FileMode.Create));
using iText.Html2pdf;
// Input HTML page content with CSS styling
var html = "<html><head><style>body { font-family: Arial, sans-serif; }</style></head><body><h1>Hello, iText 7!</h1><p>This is a sample HTML to PDF conversion.</p></body></html>";
// Output PDF file path
string outputPdfPath = "results/output.pdf";
HtmlConverter.ConvertToPdf(html, new FileStream(outputPdfPath, FileMode.Create));
Imports iText.Html2pdf
' Input HTML page content with CSS styling
Private html = "<html><head><style>body { font-family: Arial, sans-serif; }</style></head><body><h1>Hello, iText 7!</h1><p>This is a sample HTML to PDF conversion.</p></body></html>"
' Output PDF file path
Private outputPdfPath As String = "results/output.pdf"
HtmlConverter.ConvertToPdf(html, New FileStream(outputPdfPath, FileMode.Create))
$vbLabelText $csharpLabel
L'extrait de code ci-dessus montre comment utiliser HtmlConverter d'iText 7 pour convertir un texte simple ou un contenu HTML spécifié avec un style CSS en un fichier PDF. Dans la balise de style CSS, vous pouvez également définir la taille de la police ainsi que d'autres styles comme la couleur d'arrière-plan, la disposition du contenu, etc. Il définit le contenu HTML d'entrée, spécifie le chemin du fichier PDF de sortie, puis lance le processus de conversion. Le PDF résultant sera enregistré à l'emplacement spécifié dans outputPdfPath.
Bien qu'iText7 permette un contrôle fin du style, il peut nécessiter du code supplémentaire pour les mises en page HTML complexes ou les styles CSS compliqués. Cependant, il se distingue dans les scénarios où une personnalisation poussée du style PDF est nécessaire au-delà de la conversion HTML.
Convertir HTML en PDF avec IronPDF
IronPDF simplifieConversion de HTML en PDF avec une méthode simple pour rendre les balises HTML et CSS directement dans un document PDF. Voici un exemple de code pour convertir une chaîne HTML en page PDF :
using IronPdf;
// Basic Example
// 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");
using IronPdf;
// Basic Example
// 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");
Imports IronPdf
' Basic Example
' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
' Create a PDF from a HTML string using C#
Private 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
Dim myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", "C:\site\assets\")
myAdvancedPdf.SaveAs("html-with-assets.pdf")
$vbLabelText $csharpLabel
Voici une explication plus détaillée du code ci-dessus :
Processus de conversion simplifié
Dans l'exemple de base, IronPDF propose une approche simplifiée de la conversion de documents HTML en documents PDF. Les développeurs peuvent y parvenir en quelques lignes de code seulement, comme le montre le code source ci-dessus. Les étapes principales comprennent la création d'un document PDF et le rendu du contenu HTML directement dans ce document.
Exemple avancé avec les CSS Assets
Dans l'exemple avancé, le code charge le contenu d'éléments HTML comprenant une image(<img src='icons/iron.png'>) et spécifie un chemin de base pour le chargement des ressources externes(tels que des images, des fichiers CSS externes et des fichiers JavaScript) en utilisant la méthode RenderHtmlAsPdf. Le PDF résultant, qui comprend le contenu HTML et les éléments associés, est enregistré sous le nom de "html-with-assets.pdf"
Efficacité et facilité d'utilisation
L'approche d'IronPDF est idéale pour les scénarios dans lesquels vous avez besoin d'un processus de conversion de données sans tracas, sans avoir à plonger dans les complexités de la construction de documents PDF et sans qu'il ne soit nécessaire de recourir à d'autres dépendances. Il fait abstraction d'une grande partie de la complexité sous-jacente et offre une expérience conviviale.
Conclusion
Dans cette comparaison approfondie, nous avons exploré deux bibliothèques puissantes pour la conversion HTML vers PDF en C# :iTextSharp etIronPDF.
iTextSharp, avec ses capacités complètes de manipulation des PDF, fournit aux développeurs les outils nécessaires à un contrôle précis du processus de génération des PDF. Il excelle dans les scénarios où des personnalisations PDF complexes sont nécessaires au-delà de la simple conversion HTML vers PDF. D'autre part, IronPDF est une bibliothèque dédiée, conçue spécifiquement pour la conversion sans effort de HTML en PDF. Il offre une approche intuitive et conviviale, idéale pour les tâches simples qui nécessitent un effort de codage minimal.
Pour faire le bon choix entre ces deux bibliothèques, tenez compte de la complexité de vos besoins en matière de PDF. Si vous avez besoin d'une personnalisation poussée et de fonctionnalités PDF avancées, iTextSharp est la solution qu'il vous faut. Cependant, pour des conversions HTML vers PDF rapides et efficaces, sans modifications complexes des PDF et autres dépendances de bibliothèque, IronPDF est une option très efficace et conviviale. Il offre également des options avancées de manipulation des PDF.
Regan est diplômé de l'université de Reading, où il a obtenu une licence en ingénierie électronique. Avant de rejoindre Iron Software, il s'était concentré sur une seule tâche. Ce qu'il apprécie le plus chez Iron Software, c'est la diversité des tâches qu'il peut accomplir, qu'il s'agisse d'apporter une valeur ajoutée aux ventes, à l'assistance technique, au développement de produits ou à la commercialisation. Il aime comprendre comment les développeurs utilisent la bibliothèque d'Iron Software et utiliser ces connaissances pour améliorer continuellement la documentation et développer les produits.
< PRÉCÉDENT IronPDF et Puppeteer C# : Une comparaison
SUIVANT > Comment fusionner des fichiers PDF à l'aide d'iTextSharp
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