Passer au contenu du pied de page
UTILISATION DE IRONPDF

HtmlToPdfDocument C# : Alternative à DinkToPdf pour la conversion de HTML en PDF

Si vous travaillez avec HtmlToPdfDocument C# dans DinkToPdfet 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 PDF robuste qui gère les CSS modernes, les polices web et l'exécution JavaScript sans installation de bibliothèque native ou d'outils de ligne de commande.

IronPDF est une bibliothèque .NET dotée d'un moteur de rendu basé sur Chromium qui peut facilement convertir des fichiers HTML, des pages web et des chaînes HTML en PDF de haute qualité en seulement quelques lignes de code.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronPDF avec le gestionnaire de packages NuGet

    PM > Install-Package IronPdf

  2. Copiez et exécutez cet extrait de code.

    IronPdf.ChromePdfRenderer
           .StaticRenderHtmlAsPdf("<h1>Hello World</h1>")
           .SaveAs("output.pdf");
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronPDF dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer

Comment DinkToPdfse compare-t-il à IronPDF?

DinkToPdf est un wrapper .NET Core pour wkhtmltopdf, qui utilise l'ancien moteur de rendu WebKit. Bien qu'il s'agisse d'un logiciel libre, les développeurs sont souvent confrontés à des difficultés lorsqu'ils tentent de convertir du HTML en PDF en production.

| Fonction | DinkToPdf|IronPDF| | ---| ---| ---| | Moteur de rendu| WebKit (périmé)| Chromium (moderne)| | Support CSS| Prise en charge limitée des CSS| CSS3 complet, CSS moderne| | Exécution JavaScript| Limité | Rendu JavaScript complet| | Dépendances natives| Nécessite les binaires wkhtmltopdf| Aucune dépendance externe| | Polices de caractères Web| Partiel | Assistance complète| | .NET Core / .NET 5+| Oui | Oui ( .NET Core, Framework, Standard)| | Azure App Service| Configuration complexe| Fonctionne dès le départ| | Filetage| Singleton requis| Thread-safe| | Modèles HTML| Basique | Fonctionnalités avancées| | Formulaires PDF à remplir| Non | Oui |

La principale différence réside dans le moteur de rendu. Le moteur WebKit de DinkToPdfa 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 que vous voyez dans un navigateur.

Quels sont les problèmes posés par la classe HtmlToPdfDocument de DinkToPdf?

HtmlToPdfDocument C# : DinkToPdfAlternative pour la conversion de HTML en PDF : Image 1 - DinkToPdf

La classe HtmlToPdfDocument de DinkToPdfnécessite une configuration verbeuse avec des limitations affectant la conversion PDF :

using DinkToPdf;
class Program
{
    static void Main(string[] args)
    {
        // DinkToPdfrequires native library setup and singleton converter
        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;
class Program
{
    static void Main(string[] args)
    {
        // DinkToPdfrequires native library setup and singleton converter
        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);
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

DinkToPdfPDF Output

HtmlToPdfDocument C# : DinkToPdfAlternative pour la conversion de HTML en PDF : Image 2 - Exemple de sortie PDF de DinkToPdf

Les problèmes les plus courants sont les suivants : lenteur de la génération de PDF pour des tâches simples, complications liées à l'utilisation de threads sur les serveurs web et difficultés à gérer le contenu web avec JavaScript. L'outil de ligne de commande wkhtmltopdf pose des problèmes de déploiement pour Azure App Service.

Comment convertir une simple chaîne HTML en PDF avecIronPDFplutôt?

HtmlToPdfDocument C# : Alternative à DinkToPdfpour la conversion de HTML en PDF : Image 3 - IronPDF

IronPDF simplifie la conversion de HTML en PDF grâce à une API plus propre et à une qualité de sortie PDF supérieure. Le ChromePdfRenderer gère tout le contenu HTML—d'une simple chaîne HTML à des pages HTML complexes.

using IronPdf;
class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();
        // Convert simple HTML string to PDF
        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;
class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();
        // Convert simple HTML string to PDF
        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");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Sortie PDF d'IronPDF

HtmlToPdfDocument C# : DinkToPdfAlternative pour la conversion de HTML en PDF : Image 4 -IronPDFexemple simple chaîne HTML vers sortie PDF

Ce code démontre commentIronPDFtraite le code HTML et les styles CSS lors de la conversion HTML, produisant des documents PDF avec un rendu de taille de police et des propriétés d'alignement de texte adéquats—le tout sans dépendances externes. La bibliothèque PDF gère tout en interne.

Convertir HTML en PDF à partir du répertoire de sortie

Pour convertir des fichiers HTML à partir de votre répertoire de sortie :

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();
        // Easily convert HTML files to PDF format
        var DOC = renderer.RenderHtmlFileAsPdf("templates/input.html");
        doc.SaveAs("example.pdf");
    }
}
class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();
        // Easily convert HTML files to PDF format
        var DOC = renderer.RenderHtmlFileAsPdf("templates/input.html");
        doc.SaveAs("example.pdf");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Fichier PDF rendu

HtmlToPdfDocument C# : Alternative de DinkToPdfpour la conversion de HTML en PDF : Image 5 - Exemple de sortie d'un fichier HTML vers un document PDF

Comment convertir l'URL d'une page web en PDF?

C'est dans la conversion de contenu web en direct qu'IronPDF excelle. Contrairement au rendu JavaScript limité de DinkToPdf,IronPDFprend en charge les éléments HTML dynamiques et les formulaires interactifs.

using IronPdf;
class Program
{
    static void Main(string[] args)
    {
        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;
class Program
{
    static void Main(string[] args)
    {
        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");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

L'URL convertie en PDF

HtmlToPdfDocument C# : Alternative de DinkToPdfpour la conversion de HTML en PDF : Image 6 - PDF rendu à partir du contenu de l'URL

Cette approche est idéale pour générer des factures à partir de formulaires web. Le moteur de rendu traite toutes les polices web, les styles CSS et JavaScript avant de produire le fichier PDF, ce qui est essentiel pour la génération de PDF à grande échelle.

Comment configurer les paramètres de sortie des PDF?

Les deux bibliothèques proposent une configuration, maisIronPDFoffre un contrôle plus intuitif sur le PDF généré :

class Program
{
    static void Main(string[] args)
    {
        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");
    }
}
class Program
{
    static void Main(string[] args)
    {
        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");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

PDF de sortie

HtmlToPdfDocument C# : Alternative à DinkToPdfpour la conversion de HTML en PDF : Image 7 - Sortie PDF personnalisée

Ces extraits de code montrent comment contrôler la taille du papier, les marges, les en-têtes et les pieds de page.IronPDFprend également en charge des fonctionnalités avancées telles que la manipulation de documents PDF, les formulaires PDF remplissables et la conversion de plusieurs documents HTML, fonctionnalités indisponibles avec HtmlToPdfDocument.

Pourquoi passer de DinkToPdfà IronPDF?

Pour les développeurs qui utilisent HtmlToPdfDocument dans des applications .NET Core,IronPDFoffre des avantages clés :

  • Rendu moderne : Le moteur Chromium gère la structure HTML, les feuilles de style CSS modernes et l'exécution JavaScript pour créer des documents PDF avec un rendu parfait au pixel près
  • Zero Setup : Pas de binaires wkhtmltopdf ou de configuration d'outils en ligne de commande
  • Meilleures performances : Conversion PDF plus rapide sans limitations de threads uniques
  • <Prise en charge complète du Web : Convertissez le contenu de documents HTML avec des polices Web et des modèles HTML complexes
  • <Prêt pour l'entreprise : Déploiement vers Azure App Service, les serveurs web et les environnements Visual Studio
  • <Flexibilité des formats : Plusieurs formats de fichiers, y compris des pages HTML, des URL et des documents PDF

Le convertisseur HTML vers PDF est conçu pour la production—de simples tâches de génération de PDF ou des flux de travail complexes avec des formulaires interactifs et le ciblage d'ID d'éléments HTML.

Conclusion

Bien que la classe HtmlToPdfDocument de DinkToPdfassure une conversion HTML-PDF de base, son moteur WebKit obsolète et ses dépendances externes créent des frictions pour le développement .NET moderne.IronPDFoffre des résultats supérieurs grâce à un rendu basé sur Chromium, une prise en charge complète des feuilles de style CSS et un déploiement sans tracas.

Prêt à convertir HTML en PDF sans limites ? Démarrez votre essai gratuit pour générer des documents PDF à partir de n'importe quel contenu HTML, ou explorez les options de licence pour votre équipe.IronPDFest également bien plus qu'une simple bibliothèque HTML vers PDF, ne manquez pas de consulter sa documentation pour voir tout ce qu'elle peut faire !

Commencez avec IronPDF maintenant.
green arrow pointer

Questions Fréquemment Posées

Qu'est-ce que IronPDF ?

IronPDF est une puissante bibliothèque pour la conversion de HTML en PDF à l'aide de C#, avec une prise en charge complète des CSS modernes, de l'exécution JavaScript et des polices web. Elle constitue une alternative à DinkToPdf, car elle offre de meilleures performances et ne nécessite pas de dépendances natives.

Pourquoi devrais-je choisir IronPDF plutôt que DinkToPdf ?

IronPDF offre plusieurs avantages par rapport à DinkToPdf, notamment une prise en charge complète des feuilles de style CSS, l'absence de besoin d'installation de bibliothèques natives ou d'outils de ligne de commande, et des performances supérieures grâce à son moteur de rendu Chromium.

Comment IronPDF améliore-t-il les performances de la conversion de HTML en PDF ?

IronPDF utilise le rendu Chromium pour traiter efficacement le HTML, le CSS et le JavaScript, offrant des conversions plus rapides et des sorties plus fidèles par rapport à d'autres alternatives comme DinkToPdf.

IronPDF prend-il en charge les polices web modernes ?

Oui, IronPDF prend entièrement en charge les polices web modernes, ce qui permet un rendu précis des polices dans vos documents PDF.

IronPDF peut-il gérer l'exécution de JavaScript pendant la conversion de PDF ?

Absolument, IronPDF peut exécuter JavaScript pendant le processus de conversion, ce qui garantit que le contenu dynamique est rendu avec précision dans le PDF résultant.

Quelles sont les dépendances nécessaires à l'utilisation d'IronPDF ?

IronPDF ne nécessite aucune dépendance native, ce qui facilite son intégration dans vos projets .NET sans configuration supplémentaire.

La prise en charge complète des feuilles de style CSS est-elle disponible dans IronPDF ?

Oui, IronPDF offre une prise en charge complète des feuilles de style CSS, ce qui permet de convertir en PDF des documents HTML complexes dotés d'une mise en forme avancée.

Comment IronPDF gère-t-il les bibliothèques ou outils externes ?

IronPDF ne s'appuie pas sur des bibliothèques externes ou des outils de ligne de commande, ce qui simplifie la configuration et réduit les problèmes de compatibilité potentiels.

Quel type de moteur de rendu IronPDF utilise-t-il ?

IronPDF utilise un moteur de rendu basé sur Chromium, ce qui permet des conversions HTML vers 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 est idéal pour les développeurs .NET à la recherche d'une solution de conversion HTML vers PDF robuste et efficace, avec une prise en charge complète des normes web modernes.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite