HtmlToPdfDocument C# - Alternative à DinkToPdf | IronPDF
Si vous travaillez avec HtmlToPdfDocument C# dans DinkToPdf et que vous rencontrez une prise en charge CSS limitée, des dépendances externes ou des problèmes de performance, vous n'êtes pas seul. De nombreux développeurs .NET recherchent un convertisseur HTML vers PDF qui prenne en charge les CSS modernes, les polices web et l'exécution JavaScript sans installation de bibliothèque native ni outils en ligne de commande. Ce guide vous montre comment remplacer DinkToPdf par IronPDF , une bibliothèque .NET dotée d'un moteur de rendu basé sur Chromium qui convertit les fichiers HTML, les pages Web et les chaînes HTML en PDF de haute qualité en quelques lignes de code seulement.
-
Installez IronPDF avec le Gestionnaire de Packages NuGet
PM > Install-Package IronPdf -
Copiez et exécutez cet extrait de code.
IronPdf.ChromePdfRenderer .StaticRenderHtmlAsPdf("<h1>Hello World</h1>") .SaveAs("output.pdf"); -
Déployez pour tester sur votre environnement de production.
Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit
Comment installer IronPDF via NuGet?
Avant d'écrire le moindre code de conversion, vous devez ajouter IronPDF à votre projet. La méthode la plus rapide consiste à utiliser l'interface de ligne de commande du gestionnaire de packages NuGet :
dotnet add package IronPdf
dotnet add package IronPdf
Vous pouvez également ouvrir la console du gestionnaire de packages NuGet dans Visual Studio et exécuter :
Install-Package IronPdf
Install-Package IronPdf
IronPDF cible .NET 8, .NET 9, .NET 10, .NET Standard 2.0 et .NET Framework 4.6.2 ou supérieur. Aucun binaire natif supplémentaire, aucune installation de wkhtmltopdf ni aucune configuration d'outil en ligne de commande n'est requis. Ce paquet intègre le moteur de rendu Chromium et résout automatiquement toutes les dépendances. Une fois installé, vous pouvez définir votre clé de licence dans le code ou via une variable d'environnement et commencer immédiatement à générer des PDF. Pour des instructions d'installation détaillées, la page de démarrage IronPDF décrit chaque environnement.
Comment DinkToPdf se compare-t-il à IronPDF?
DinkToPdf est une surcouche .NET Core pour wkhtmltopdf, utilisant l'ancien moteur de rendu WebKit. Bien qu'open source, ce logiciel pose souvent problème aux développeurs lors de la conversion de HTML en PDF en environnement de production.
| Caractéristique | DinkToPdf | IronPDF |
|---|---|---|
| Moteur de rendu | WebKit (obsolète) | Chrome (moderne) |
| Support CSS | Prise en charge CSS limitée | CSS3 complet, CSS moderne |
| Exécution de JavaScript | Limitée | Rendu JavaScript complet |
| Dépendances natives | Nécessite les binaires wkhtmltopdf | Aucune dépendance externe |
| Polices Web | Partiel | Assistance complète |
| .NET Core / .NET 5+ | Oui | Oui (.NET Core, Framework, Standard) |
| Service d'application Azure | Configuration complexe | Fonctionne dès la sortie de la boîte |
| Threading | Singleton requis | Thread-safe |
| Modèles HTML | Basique | fonctionnalités avancées |
| Formulaires PDF remplissables | Non | Oui |
La principale différence réside dans le moteur de rendu. Le moteur WebKit de DinkToPdf a du mal à gérer les documents complexes, les feuilles de style CSS modernes et les contenus web dynamiques. Le moteur Chromium d'IronPDF produit des documents PDF qui correspondent exactement à ce qu'affiche un navigateur. Pour une analyse plus détaillée, consultez la page de comparaison IronPDF vs DinkToPdf .
Quels sont les problèmes posés par la classe HtmlToPdfDocument de DinkToPdf ?

La classe HtmlToPdfDocument de DinkToPdf nécessite une configuration détaillée avec des limitations qui affectent la qualité de la conversion PDF et l'expérience du développeur :
using DinkToPdf;
var converter = new SynchronizedConverter(new PdfTools());
var doc = new HtmlToPdfDocument()
{
GlobalSettings = { PaperSize = PaperKind.A4, Out = "output.pdf" },
Objects = { new ObjectSettings() { HtmlContent = "<h1>Hello</h1>" } }
};
converter.Convert(doc);
using DinkToPdf;
var converter = new SynchronizedConverter(new PdfTools());
var doc = new HtmlToPdfDocument()
{
GlobalSettings = { PaperSize = PaperKind.A4, Out = "output.pdf" },
Objects = { new ObjectSettings() { HtmlContent = "<h1>Hello</h1>" } }
};
converter.Convert(doc);
Imports DinkToPdf
Dim converter = New SynchronizedConverter(New PdfTools())
Dim doc = New HtmlToPdfDocument() With {
.GlobalSettings = New GlobalSettings() With {
.PaperSize = PaperKind.A4,
.Out = "output.pdf"
},
.Objects = {New ObjectSettings() With {.HtmlContent = "<h1>Hello</h1>"}}
}
converter.Convert(doc)
Sortie PDF DinkToPdf

Les problèmes courants incluent : la lenteur de la génération de PDF même pour des tâches simples, les complications liées au multithreading sur les serveurs web et la difficulté à gérer le contenu web avec JavaScript. L'outil en ligne de commande wkhtmltopdf pose des problèmes de déploiement pour Service d'application Azure et les environnements sans serveur où il est impossible d'installer des binaires au niveau système. Les développeurs signalent également que le modèle de convertisseur singleton devient un goulot d'étranglement en cas de charge simultanée.
Au-delà des performances, le projet DinkToPdf sur GitHub présente une activité de maintenance limitée, ce qui signifie que les bugs dans le rendu CSS ou la gestion SSL sont rarement corrigés. Pour les applications de production qui traitent des milliers de fichiers PDF par jour, ces écarts sont inacceptables. Lorsqu'une mise en page CSS Grid se casse ou qu'une police web ne se charge pas, vous avez besoin d'une bibliothèque qui suit le comportement des navigateurs modernes, et non d'une bibliothèque figée dans le temps avec un moteur de rendu du début des années 2010.
Comment convertir une chaîne HTML en PDF avec IronPDF?

IronPDF simplifie la conversion HTML vers PDF grâce à une API plus claire et une qualité de sortie supérieure. Le ChromePdfRenderer gère tout le contenu HTML, d'une simple chaîne HTML à des pages HTML complexes avec des feuilles de style externes, des polices Google et des mises en page pilotées par JavaScript.
using IronPdf;
var renderer = new ChromePdfRenderer();
string htmlContent = @"
<!DOCTYPE html>
<html>
<head>
<style>
body { font-size: 14px; text-align: center; }
h1 { color: #2563eb; }
</style>
</head>
<body>
<h1>Professional Invoice</h1>
<p>Generated with modern CSS support</p>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("invoice.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
string htmlContent = @"
<!DOCTYPE html>
<html>
<head>
<style>
body { font-size: 14px; text-align: center; }
h1 { color: #2563eb; }
</style>
</head>
<body>
<h1>Professional Invoice</h1>
<p>Generated with modern CSS support</p>
</body>
</html>";
var pdf = renderer.RenderHtmlAsPdf(htmlContent);
pdf.SaveAs("invoice.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim htmlContent As String = "
<!DOCTYPE html>
<html>
<head>
<style>
body { font-size: 14px; text-align: center; }
h1 { color: #2563eb; }
</style>
</head>
<body>
<h1>Professional Invoice</h1>
<p>Generated with modern CSS support</p>
</body>
</html>"
Dim pdf = renderer.RenderHtmlAsPdf(htmlContent)
pdf.SaveAs("invoice.pdf")
Sortie de chaîne HTML IronPDF

Ce code démontre comment IronPDF traite le HTML et le CSS lors de la conversion, produisant des documents PDF avec un rendu de taille de police et un alignement du texte corrects, le tout sans dépendances externes. La méthode RenderHtmlAsPdf accepte toute chaîne HTML5 valide, y compris les styles en ligne, les scripts intégrés et les URI de données pour les images.
Comment convertir un fichier HTML en PDF ?
Pour convertir les fichiers HTML stockés sur disque :
using IronPdf;
var renderer = new ChromePdfRenderer();
var doc = renderer.RenderHtmlFileAsPdf("templates/input.html");
doc.SaveAs("example.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
var doc = renderer.RenderHtmlFileAsPdf("templates/input.html");
doc.SaveAs("example.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim doc = renderer.RenderHtmlFileAsPdf("templates/input.html")
doc.SaveAs("example.pdf")

La méthode RenderHtmlFileAsPdf résout les chemins relatifs des images, des feuilles de style et des scripts par rapport à l'emplacement du fichier HTML sur le disque, de sorte que les modèles existants fonctionnent sans modification. Cela simplifie la migration des modèles de rapports existants.
Comment convertir l'URL d'une page web en PDF?
La conversion de contenu web en direct est le point fort IronPDF par rapport au rendu JavaScript limité de DinkToPdf. Le moteur Chromium d'IronPDF prend en charge les éléments HTML dynamiques, les applications monopages et les formulaires interactifs.
using IronPdf;
var renderer = new ChromePdfRenderer();
// Enable JavaScript execution for dynamic content
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500);
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
string url = "https://en.wikipedia.org/wiki/Main_Page";
var page = renderer.RenderUrlAsPdf(url);
page.SaveAs("webpage.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
// Enable JavaScript execution for dynamic content
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500);
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;
string url = "https://en.wikipedia.org/wiki/Main_Page";
var page = renderer.RenderUrlAsPdf(url);
page.SaveAs("webpage.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
' Enable JavaScript execution for dynamic content
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay(500)
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print
Dim url As String = "https://en.wikipedia.org/wiki/Main_Page"
Dim page = renderer.RenderUrlAsPdf(url)
page.SaveAs("webpage.pdf")
L'URL convertie en PDF

Cette approche est idéale pour générer des factures à partir de formulaires web ou pour archiver des tableaux de bord en direct. Le moteur de rendu traite toutes les polices web, les styles CSS et le JavaScript avant de générer le fichier PDF. L' API WaitFor vous permet de contrôler précisément le moment où le moteur Chromium considère une page comme prête à être capturée : vous pouvez attendre des éléments DOM spécifiques, l'inactivité du réseau ou des conditions JavaScript personnalisées, ce qui est essentiel pour la génération de PDF à grande échelle à partir de contenu dynamique.
Pour les pages authentifiées, vous pouvez transmettre directement au moteur de rendu les en-têtes HTTP, les cookies ou les données POST du formulaire. L' URL vers la documentation PDF couvre ces scénarios avancés en détail.
Comment configurer les paramètres de sortie des PDF?
Les deux bibliothèques offrent des options de configuration, mais IronPDF offre un contrôle plus intuitif sur le PDF généré grâce à son objet RenderingOptions :
using IronPdf;
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.TextHeader.CenterText = "Company Report";
renderer.RenderingOptions.TextFooter.CenterText = "{page} of {total-pages}";
var document = renderer.RenderHtmlAsPdf("<h1 style='text-align: center;'>Quarterly Report</h1>");
document.SaveAs("configured-report.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.TextHeader.CenterText = "Company Report";
renderer.RenderingOptions.TextFooter.CenterText = "{page} of {total-pages}";
var document = renderer.RenderHtmlAsPdf("<h1 style='text-align: center;'>Quarterly Report</h1>");
document.SaveAs("configured-report.pdf");
Imports IronPdf
Dim renderer = New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.TextHeader.CenterText = "Company Report"
renderer.RenderingOptions.TextFooter.CenterText = "{page} of {total-pages}"
Dim document = renderer.RenderHtmlAsPdf("<h1 style='text-align: center;'>Quarterly Report</h1>")
document.SaveAs("configured-report.pdf")
Générer un PDF avec des paramètres personnalisés

Ces options permettent de contrôler le format du papier, les marges, les en-têtes et les pieds de page. IronPDF prend également en charge les en-têtes et pieds de page HTML personnalisés qui acceptent le HTML et le CSS complets, vous permettant de placer des logos, des nombres de pages dynamiques et du texte stylisé dans les zones d'en-tête et de pied de page. Pour la sécurité des documents, l' API de chiffrement PDF et de mots de passe vous permet de restreindre l'impression, la copie ou la modification après génération.
Comment fusionner plusieurs fichiers PDF ?
Lorsque vous devez combiner plusieurs documents HTML en un seul PDF, IronPDF propose une méthode de fusion statique :
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf1 = renderer.RenderHtmlAsPdf("<h1>Section One</h1>");
var pdf2 = renderer.RenderHtmlAsPdf("<h1>Section Two</h1>");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged-report.pdf");
using IronPdf;
var renderer = new ChromePdfRenderer();
var pdf1 = renderer.RenderHtmlAsPdf("<h1>Section One</h1>");
var pdf2 = renderer.RenderHtmlAsPdf("<h1>Section Two</h1>");
var merged = PdfDocument.Merge(pdf1, pdf2);
merged.SaveAs("merged-report.pdf");
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim pdf1 = renderer.RenderHtmlAsPdf("<h1>Section One</h1>")
Dim pdf2 = renderer.RenderHtmlAsPdf("<h1>Section Two</h1>")
Dim merged = PdfDocument.Merge(pdf1, pdf2)
merged.SaveAs("merged-report.pdf")
La documentation sur la fusion de PDF explique comment assembler des documents volumineux à partir de nombreux fichiers sources, appliquer des en-têtes et des pieds de page cohérents à toutes les sections et réorganiser les pages par programmation. Ceci est utile pour les processus de génération de rapports qui construisent des sections individuelles indépendamment avant de les combiner en un seul document final.
Pourquoi passer de DinkToPdf à IronPDF?
Pour les développeurs utilisant HtmlToPdfDocument dans les applications .NET Core , IronPDF offre des avantages clés qui répondent directement à chaque problème rencontré :
- Rendu moderne : le moteur Chromium gère la structure HTML, le CSS moderne et l'exécution JavaScript pour créer des documents PDF d'une précision pixel parfaite.
- Installation nulle : aucun binaire wkhtmltopdf ni configuration d'outil en ligne de commande ; il suffit d'ajouter le package NuGet.
- Performances améliorées : conversion PDF plus rapide sans limitations de thread unique ; Le moteur de rendu est thread-safe et peut exécuter des conversions simultanées.
- Prise en charge complète du Web : conversion de HTML avec polices Web, animations CSS, graphiques SVG et modèles HTML complexes
- Déploiement en Enterprise : Déployez sur Service d'application Azure , AWS Lambda, des conteneurs Docker et des serveurs web traditionnels sans configuration supplémentaire
- Fonctionnalités PDF avancées : formulaires PDF remplissables , signatures numériques , conformité PDF/A et filigranes
- Maintenance active : IronPDF publie des mises à jour régulières prenant en compte les dernières versions de Chromium et des environnements d'exécution .NET.
Selon le calendrier de publication du projet Chromium , le moteur reçoit des correctifs de sécurité toutes les quatre semaines. IronPDF intègre des versions Chromium mises à jour à chaque version majeure, garantissant ainsi que votre génération de PDF reste à jour sans aucune gestion manuelle des binaires. Cela est important pour les équipes soucieuses de la sécurité qui doivent démontrer que leurs dépendances sont corrigées contre les vulnérabilités connues.
La bibliothèque de documentation IronPDF comprend plus de 50 guides pratiques pour des tâches allant de la division des PDF à l'extraction de texte et à l'ajout d'annotations .
Quelles sont vos prochaines étapes ?
Bien que la classe DinkToPdf HtmlToPdfDocument fournisse une conversion HTML vers PDF de base, son moteur WebKit obsolète et ses dépendances externes créent des frictions pour le développement .NET moderne. IronPDF offre de meilleurs résultats grâce au rendu basé sur Chromium, à la prise en charge complète du CSS et au déploiement sans dépendance. Que vous construisiez un petit outil de reporting interne ou un service de génération de documents à volume élevé, le chemin de migration est simple : installez le package NuGet , remplacez les appels d'API DinkToPdf par leurs équivalents ChromePdfRenderer et supprimez les binaires wkhtmltopdf de votre pipeline de déploiement.
Pour aller de l'avant, choisissez la voie qui convient à votre situation :
- Essayez-le dès maintenant : démarrez un essai gratuit IronPDF pour générer des documents PDF à partir de n'importe quel contenu HTML, sans engagement.
- Comparaison approfondie : Consultez la comparaison IronPDF vs DinkToPdf pour une analyse technique complète.
- Explorez les fonctionnalités : consultez la documentation IronPDF pour découvrir des capacités allant au-delà de la simple conversion HTML vers PDF.
- Consultez les options de licence : la page des licences IronPDF présente les options adaptées aux développeurs individuels, aux équipes et aux déploiements en Enterprise.
- Obtenez de l'aide de la communauté : La page d'assistance IronPDF donne accès à une assistance technique et à des ressources communautaires
Questions Fréquemment Posées
Qu'est-ce que IronPDF ?
IronPDF est une bibliothèque .NET pour convertir HTML en PDF en utilisant un moteur de rendu Chromium. Elle prend en charge les CSS modernes, l'exécution de JavaScript et les polices web, et ne nécessite aucune dépendance native ou binaire externe.
Pourquoi devrais-je choisir IronPDF plutôt que DinkToPdf ?
IronPDF offre un support complet de CSS3, pas de configuration de bibliothèque native ou wkhtmltopdf, des conversions simultanées sécurisées, et un déploiement facile sur Azure App Service et Docker -- répondant à tous les principaux problèmes de DinkToPdf.
Comment IronPDF améliore-t-il les performances de la conversion de HTML en PDF ?
IronPDF utilise un moteur de rendu Chromium qui traite efficacement HTML, CSS et JavaScript. Son design sécurisé par thread élimine le goulet d'étranglement de singleton qui affecte DinkToPdf sous charge simultanée.
IronPDF prend-il en charge les polices web modernes ?
Oui. Le moteur Chromium d'IronPDF prend en charge pleinement les polices Google, les polices système et les polices web personnalisées intégrées dans HTML, produisant un rendu précis des polices dans le PDF en sortie.
IronPDF peut-il exécuter du JavaScript lors de la conversion en PDF ?
Oui. Réglez EnableJavaScript sur true dans RenderingOptions et utilisez l'API WaitFor pour contrôler le moment où Chromium considère la page prête, s'assurant que le contenu dynamique est entièrement rendu avant la capture.
Quelles sont les dépendances nécessaires à l'utilisation d'IronPDF ?
IronPDF ne nécessite aucune dépendance native. Installez-le via NuGet et le package gère le moteur Chromium en interne. Aucun binaire wkhtmltopdf ou outil en ligne de commande n'est nécessaire.
La prise en charge complète des feuilles de style CSS est-elle disponible dans IronPDF ?
Oui. IronPDF prend en charge CSS3, Flexbox, CSS Grid, les propriétés personnalisées, et les requêtes multimédia, permettant un rendu précis des documents HTML complexes.
Comment IronPDF gère-t-il les bibliothèques ou outils externes ?
IronPDF ne repose pas sur des bibliothèques externes ou des outils en ligne de commande. Tout est inclus dans le package NuGet, simplifiant le déploiement et éliminant les problèmes de compatibilité.
Quel moteur de rendu utilise IronPDF ?
IronPDF utilise un moteur de rendu basé sur Chromium, le même moteur qui alimente Google Chrome, offrant des conversions HTML en PDF précises et performantes.
IronPDF convient-il aux développeurs .NET à la recherche d'une solution de conversion de HTML en PDF ?
Oui. IronPDF cible .NET 8, .NET 9, .NET 10, .NET Standard 2.0 et .NET Framework 4.6.2 ou supérieur, le rendant adapté aux applications .NET modernes et héritées.



