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
Chaknith Bin
avril 24, 2025
Partager:
Convertir du HTML en PDF est une tâche cruciale dans de nombreux flux de travail de développement logiciel modernes, que ce soit pour générer des rapports, des factures ou créer de la documentation. En tant que développeur C#, vous disposez de plusieurs bibliothèques pour simplifier ce processus.
Dans cet article, nous comparerons deux des bibliothèques les plus populaires au sein de l'écosystème .NET : IronPDF et iTextSharp. Les deux bibliothèques offrent des fonctionnalités robustes, mais elles diffèrent dans des domaines clés tels que la facilité d'utilisation, les outils de création de PDF, le support de la stylisation CSS et la licence. Que vous soyez un débutant ou un développeur expérimenté, ce guide vous aidera à comprendre leurs fonctionnalités principales et à décider lequel est le mieux adapté pour vous en fonction de vos besoins et des exigences de votre projet.
Envie de suivre ? Téléchargez la version d'essai gratuite d'IronPDF pour découvrir par vous-même les puissantes fonctionnalités d'IronPDF.*
Comparer les meilleures bibliothèques : iTextSharp et IronPDF
Tant iTextSharp que IronPDF fournissent aux développeurs les outils dont ils ont besoin pour la conversion HTML en PDF en C#. Cependant, chacun a ses propres forces et faiblesses.
iTextSharp est une bibliothèque open-source qui existe depuis longtemps. Elle offre flexibilité et nombreuses options de personnalisation, mais elle peut être quelque peu complexe à installer et à utiliser, surtout lorsqu'il s'agit de rendre du HTML et du CSS avancés. Cependant, il convient de noter qu'iTextSharp est un produit hérité et ne reçoit désormais que des mises à jour liées à la sécurité.
IronPDF, en revanche, est un produit commercial développé par Iron Software. Il est connu pour son interface conviviale, son support CSS robuste et sa facilité d'utilisation. Il s'intègre parfaitement aux applications C#, ce qui en fait un excellent choix pour les développeurs qui ont besoin d'une génération de PDF rapide et efficace sans sacrifier la qualité.
Avant de plonger dans la conversion de HTML en format PDF avec ces deux bibliothèques, examinons d'abord une comparaison d'exemple de base qui montre la différence dans la manière dont ces deux bibliothèques traitent la conversion des pages web/du contenu HTML riche en CSS et JavaScript en un document PDF.
Comme vous pouvez le voir à partir des documents PDF résultants, cela démontre comment iTextSharp ne peut vraiment traiter que le contenu HTML brut de l'URL fournie, tandis qu'IronPDF est capable de maintenir la mise en page et le style CSS d'origine, garantissant que le document PDF généré ressemble étroitement à la page web originale.
Guide d'installation pas à pas
Configuration de iTextSharp
Installer via la console NuGet : Pour commencer à utiliser iTextSharp, vous pouvez l'installer directement depuis NuGet. Ouvrez votre projet Visual Studio, accédez au gestionnaire de packages NuGet et exécutez la commande suivante :
Install-Package iTextSharp
Install-Package iTextSharp
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package iTextSharp
$vbLabelText $csharpLabel
Installer via le gestionnaire de packages NuGet : Alternativement, vous pouvez l'installer via le gestionnaire de packages NuGet pour l'écran de la solution. Pour ce faire, accédez à "Outils > Gestionnaire de packages NuGet > Gérer les packages NuGet pour la solution".
Ensuite, recherchez la bibliothèque iTextSharp et cliquez sur "Installer".
Ajouter des références : Une fois installé, ajoutez les références nécessaires à votre projet, notamment celles liées à la conversion de HTML en PDF.
using iTextSharp.text.pdf;
using iTextSharp.text.html.simpleparser;
using iTextSharp.text.pdf;
using iTextSharp.text.html.simpleparser;
Installer via la console NuGet : Pour commencer à utiliser IronPDF, vous pouvez l'installer directement depuis NuGet. Ouvrez votre projet Visual Studio, accédez au gestionnaire de packages NuGet et exécutez la commande suivante :
Install-Package IronPdf
Install-Package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package IronPdf
$vbLabelText $csharpLabel
Installer via le gestionnaire de packages NuGet : Alternativement, vous pouvez l'installer via le gestionnaire de packages NuGet pour l'écran Solution comme nous l'avons fait dans les étapes ci-dessus pour iTextSharp. Cependant, cette fois, recherchez IronPDF avant de cliquer sur "Installer".
Ajouter des références : Une fois installé, importez IronPDF dans votre projet :
using IronPdf;
using IronPdf;
Imports IronPdf
$vbLabelText $csharpLabel
Il est important de se rappeler qu'IronPDF nécessite une clé de licence pour une utilisation commerciale/utilisation en dehors du développement.
Implémentation de la conversion HTML en PDF
Utilisation de iTextSharp
Une fois qu'iTextSharp est configuré, vous devez également vous assurer que le package itextsharp.xmlworker est installé dans votre projet avant de pouvoir commencer à créer des PDFs à partir de contenu HTML. Toutefois, vous serez confronté à des défis avec un HTML plus complexe, surtout lorsque des styles CSS sont impliqués. iTextSharp a tendance à nécessiter un effort supplémentaire pour obtenir un style parfait par rapport à IronPDF. Il est important de se rappeler qu'iTextSharp ne gère que le HTML/CSS2 de base (pas de flexbox, pas de grille, CSS limité).
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
string html = @"
<html>
<head>
<style>
body { font-family: Arial; color: #333; }
h1 { background: #3498db; color: #fff; padding: 10px; }
table { width: 100%; border-collapse: collapse; margin-top: 15px; }
th, td { border: 1px solid #ccc; padding: 6px; }
th { background: #2980b9; color: #fff; }
.footer { margin-top: 20px; font-size: 12px; color: #777; text-align: center; }
</style>
</head>
<body>
<h1>April Report</h1>
<p>Here’s a quick overview of this month’s performance metrics.</p>
<table>
<tr><th>Metric</th><th>Value</th></tr>
<tr><td>Features</td><td>12</td></tr>
<tr><td>Bugs Fixed</td><td>89</td></tr>
</table>
<p class='footer'>Generated by iTextSharp</p>
</body>
</html>";
using (FileStream stream = new FileStream("report.pdf", FileMode.Create))
{
Document pdfDoc = new Document(PageSize.A4, 25, 25, 30, 30);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, stream);
pdfDoc.Open();
using (StringReader sr = new StringReader(html))
{
XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr);
}
pdfDoc.Close();
writer.Close();
}
Console.WriteLine("PDF generation completed successfully.");
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iTextSharp.text;
using iTextSharp.text.pdf;
using iTextSharp.tool.xml;
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
string html = @"
<html>
<head>
<style>
body { font-family: Arial; color: #333; }
h1 { background: #3498db; color: #fff; padding: 10px; }
table { width: 100%; border-collapse: collapse; margin-top: 15px; }
th, td { border: 1px solid #ccc; padding: 6px; }
th { background: #2980b9; color: #fff; }
.footer { margin-top: 20px; font-size: 12px; color: #777; text-align: center; }
</style>
</head>
<body>
<h1>April Report</h1>
<p>Here’s a quick overview of this month’s performance metrics.</p>
<table>
<tr><th>Metric</th><th>Value</th></tr>
<tr><td>Features</td><td>12</td></tr>
<tr><td>Bugs Fixed</td><td>89</td></tr>
</table>
<p class='footer'>Generated by iTextSharp</p>
</body>
</html>";
using (FileStream stream = new FileStream("report.pdf", FileMode.Create))
{
Document pdfDoc = new Document(PageSize.A4, 25, 25, 30, 30);
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, stream);
pdfDoc.Open();
using (StringReader sr = new StringReader(html))
{
XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr);
}
pdfDoc.Close();
writer.Close();
}
Console.WriteLine("PDF generation completed successfully.");
Imports System
Imports System.Collections.Generic
Imports System.IO
Imports System.Linq
Imports System.Text
Imports System.Threading.Tasks
Imports iTextSharp.text
Imports iTextSharp.text.pdf
Imports iTextSharp.tool.xml
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance)
Dim html As String = "
<html>
<head>
<style>
body { font-family: Arial; color: #333; }
h1 { background: #3498db; color: #fff; padding: 10px; }
table { width: 100%; border-collapse: collapse; margin-top: 15px; }
th, td { border: 1px solid #ccc; padding: 6px; }
th { background: #2980b9; color: #fff; }
.footer { margin-top: 20px; font-size: 12px; color: #777; text-align: center; }
</style>
</head>
<body>
<h1>April Report</h1>
<p>Here’s a quick overview of this month’s performance metrics.</p>
<table>
<tr><th>Metric</th><th>Value</th></tr>
<tr><td>Features</td><td>12</td></tr>
<tr><td>Bugs Fixed</td><td>89</td></tr>
</table>
<p class='footer'>Generated by iTextSharp</p>
</body>
</html>"
Using stream As New FileStream("report.pdf", FileMode.Create)
Dim pdfDoc As New Document(PageSize.A4, 25, 25, 30, 30)
Dim writer As PdfWriter = PdfWriter.GetInstance(pdfDoc, stream)
pdfDoc.Open()
Using sr As New StringReader(html)
XMLWorkerHelper.GetInstance().ParseXHtml(writer, pdfDoc, sr)
End Using
pdfDoc.Close()
writer.Close()
End Using
Console.WriteLine("PDF generation completed successfully.")
$vbLabelText $csharpLabel
Fichier PDF de sortie
Utilisation d'IronPDF
IronPDF simplifie le processus de génération de PDF, capable de convertir facilement le contenu HTML en nouveaux documents PDF en seulement quelques lignes de code, comme démontré dans l'exemple de code ci-dessous. Il est capable de travailler avec des documents HTML avancés utilisant des fichiers CSS pour le style, des chaînes HTML, et du contenu web riche en CSS/JavaScript.
Voici un exemple simple qui inclut du CSS en ligne :
Avec IronPDF, vous pouvez vous attendre à un fichier PDF soigné avec un style CSS précis, comme le montre l'exemple de code ci-dessus, ce qui en fait un choix privilégié pour de nombreux développeurs travaillant avec des fichiers HTML complexes, des chaînes et plus encore. Au-delà des tâches simples de conversion de documents HTML en PDF, IronPDF est capable de réaliser des tâches avancées de manipulation de PDF et de sécurité PDF. Cela en fait une excellente bibliothèque PDF tout-en-un.
Principales différences et paysage concurrentiel
Lors de l'évaluation d'iTextSharp et d'IronPDF, il est important de prendre en compte non seulement leurs fonctionnalités, mais aussi le paysage concurrentiel. D'autres concurrents comme Apryse et Aspose.PDF proposent des solutions similaires de conversion de HTML en PDF, mais avec leurs propres compromis en termes de prix et de fonctionnalités.
FonctionnalitéIronPDFiTextSharpApryseAspose.PDF
Facilité d'utilisation Élevé Moyen Élevé Moyen
Prise en charge CSS Plein Partiel Plein Plein
Licences Commercial Open Source Commercial Commercial
Support Excellent Communauté Premium Premium
Tarification À partir de 749 $ Licence gratuite/commerciale Basé sur des devis À partir de 1 679 $ par an
IronPDF se distingue grâce à son support complet pour le HTML5 et CSS3 modernes, ce qui est essentiel pour la plupart des développeurs aujourd'hui. Son support étendu pour manipuler des documents PDF, le contrôle sur la création de documents PDF, la facilité du processus de conversion, et plus encore, font d'IronPDF une bibliothèque PDF populaire.
Conclusion et recommandations
En conclusion, tant IronPDF que iTextSharp offrent de solides capacités de conversion HTML en PDF en C#, mais ils s'adressent à différents types de développeurs. Si vous recherchez une solution open-source avec un fort soutien de la communauté, iTextSharp pourrait être le bon choix. Cependant, pour les développeurs qui ont besoin de facilité d'utilisation, d'un support CSS robuste et d'une solution commerciale, IronPDF offre une expérience beaucoup plus simplifiée et riche en fonctionnalités. Que vous cherchiez un outil capable d'automatiser la génération de factures, créer des documents PDF de marque, ou convertir des pages web entières en fichiers PDF, IronPDF a ce qu'il vous faut.
Essayez dès aujourd'hui les fonctionnalités conviviales de IronPDF – téléchargez la version d'essai gratuite pour une expérience directe et voyez à quel point la conversion de HTML en PDF peut être facile.
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 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