Passer au contenu du pied de page
UTILISATION DE IRONPDF

Convertisseur HTML en PDF C# Open Source (Comparaison des Bibliothèques .NET)

La conversion de HTML en PDF est une exigence courante dans de nombreuses applications logicielles, telles que la génération de rapports, de factures ou la sauvegarde de pages Web au format PDF. Dans cet article, nous explorerons trois bibliothèques open source populaires pour la conversion de HTML en PDF en C#, examinerons leurs forces et leurs limites, et discuterons pourquoi IronPDF est une meilleure alternative dans de nombreux cas.

Convertisseur HTML en PDF C# open source

1. PuppeteerSharp

Convertisseur HTML en PDF C# Open Source (Comparaison des bibliothèques .NET) : Figure 1

PuppeteerSharp est un wrapper .NET pour Puppeteer, un navigateur Chromium sans interface graphique. Il permet aux développeurs de convertir des documents HTML en PDF en utilisant le moteur de rendu Chromium.

PuppeteerSharp offre un contrôle précis sur le processus de rendu. Voici un exemple :

using PuppeteerSharp;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        // Download Chromium to ensure compatibility with PuppeteerSharp
        await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultChromiumRevision);

        // Launch a headless instance of Chromium browser
        using (var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true }))
        {
            // Open a new browser page
            var page = await browser.NewPageAsync();

            // Set the HTML content for the page
            await page.SetContentAsync("<html><body><h1>Hello, PuppeteerSharp!</h1></body></html>");

            // Generate a PDF from the rendered HTML content
            await page.PdfAsync("output.pdf");
            Console.WriteLine("PDF Generated Successfully!");
        }
    }
}
using PuppeteerSharp;
using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        // Download Chromium to ensure compatibility with PuppeteerSharp
        await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultChromiumRevision);

        // Launch a headless instance of Chromium browser
        using (var browser = await Puppeteer.LaunchAsync(new LaunchOptions { Headless = true }))
        {
            // Open a new browser page
            var page = await browser.NewPageAsync();

            // Set the HTML content for the page
            await page.SetContentAsync("<html><body><h1>Hello, PuppeteerSharp!</h1></body></html>");

            // Generate a PDF from the rendered HTML content
            await page.PdfAsync("output.pdf");
            Console.WriteLine("PDF Generated Successfully!");
        }
    }
}
Imports PuppeteerSharp
Imports System.Threading.Tasks

Friend Class Program
	Shared Async Function Main(ByVal args() As String) As Task
		' Download Chromium to ensure compatibility with PuppeteerSharp
		Await (New BrowserFetcher()).DownloadAsync(BrowserFetcher.DefaultChromiumRevision)

		' Launch a headless instance of Chromium browser
		Using browser = Await Puppeteer.LaunchAsync(New LaunchOptions With {.Headless = True})
			' Open a new browser page
			Dim page = Await browser.NewPageAsync()

			' Set the HTML content for the page
			Await page.SetContentAsync("<html><body><h1>Hello, PuppeteerSharp!</h1></body></html>")

			' Generate a PDF from the rendered HTML content
			Await page.PdfAsync("output.pdf")
			Console.WriteLine("PDF Generated Successfully!")
		End Using
	End Function
End Class
$vbLabelText   $csharpLabel

Explication du Code

  1. Téléchargez Chromium : PuppeteerSharp télécharge automatiquement la version de Chromium requise pour assurer la compatibilité.

  2. Lancez le navigateur : Démarrez une instance sans interface graphique de Chromium en utilisant Puppeteer.LaunchAsync().

  3. Définissez le contenu HTML : Chargez le HTML désiré dans la page du navigateur en utilisant page.SetContentAsync().

  4. Générez le PDF : Utilisez la méthode page.PdfAsync() pour générer un PDF du contenu rendu.

Le résultat est un PDF de haute qualité (output.pdf) qui réplique avec précision la structure et le design HTML.

Avantages

  • Rendu de haute fidélité : Supporte les technologies Web modernes, y compris CSS avancé et JavaScript.
  • Capacités d'automatisation : En plus des PDF, PuppeteerSharp peut automatiser la navigation Web, les tests et l'extraction de données.
  • Développement actif : PuppeteerSharp est maintenu activement et mis à jour régulièrement.

Inconvénients

  • Taille de fichier importante : Nécessite le téléchargement et l'intégration du navigateur Chromium, augmentant la taille du déploiement.
  • Consommation de ressources : Exécuter une instance de navigateur peut être lourd en ressources système, en particulier pour les applications à grande échelle.
  • Fonctionnalités spécifiques aux PDF limitées : PuppeteerSharp se concentre sur le rendu plutôt que sur l'amélioration des PDF (par exemple, ajout d'en-têtes ou de pieds de page).

2. PdfSharp

Convertisseur HTML en PDF C# Open Source (Comparaison des bibliothèques .NET) : Figure 2

PdfSharp est une puissante bibliothèque open source pour créer et manipuler des fichiers PDF en C#. Bien qu'il ne prenne pas en charge le rendu HTML directement, il excelle à fournir aux développeurs les outils pour générer et modifier des documents PDF de manière programmatique.

Caractéristiques principales de PdfSharp

  1. Création de PDF : PdfSharp permet aux développeurs de générer de nouveaux fichiers PDF à partir de zéro en définissant les tailles de page, en ajoutant du texte, des formes, des images, et plus encore.

  2. Manipulation de PDF existants : Vous pouvez modifier des documents PDF existants, tels que fusionner, diviser ou extraire du contenu.

  3. Capacités de dessin : PdfSharp offre des capacités graphiques robustes pour ajouter des designs personnalisés aux fichiers PDF en utilisant la classe XGraphics.

  4. Poids léger : C'est une bibliothèque légère, ce qui la rend idéale pour les projets où la simplicité et la vitesse sont prioritaires.
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using HtmlAgilityPack;

class Program
{
    static void Main(string[] args)
    {
        // Example HTML content
        string htmlContent = "<html><body><h1>Hello, PdfSharp!</h1><p>This is an example of HTML to PDF.</p></body></html>";

        // Parse HTML using HtmlAgilityPack (You need to add HtmlAgilityPack via NuGet)
        var htmlDoc = new HtmlDocument();
        htmlDoc.LoadHtml(htmlContent);

        // Create a new PDF document
        PdfDocument pdfDocument = new PdfDocument
        {
            Info = { Title = "HTML to PDF Example" }
        };

        // Add a new page to the document
        PdfPage page = pdfDocument.AddPage();

        XGraphics gfx = XGraphics.FromPdfPage(page);
        XFont titleFont = new XFont("Arial", 20, XFontStyle.Bold);
        XFont textFont = new XFont("Arial", 12, XFontStyle.Regular);

        // Draw the parsed HTML content
        int yPosition = 50; // Starting Y position
        foreach (var node in htmlDoc.DocumentNode.SelectNodes("//h1 | //p"))
        {
            if (node.Name == "h1")
            {
                gfx.DrawString(node.InnerText, titleFont, XBrushes.Black, new XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft);
                yPosition += 30; // Adjust spacing
            }
            else if (node.Name == "p")
            {
                gfx.DrawString(node.InnerText, textFont, XBrushes.Black, new XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft);
                yPosition += 20; // Adjust spacing
            }
        }

        // Save the PDF document
        string outputFilePath = "HtmlToPdf.pdf";
        pdfDocument.Save(outputFilePath);
        System.Console.WriteLine($"PDF file created: {outputFilePath}");
    }
}
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using HtmlAgilityPack;

class Program
{
    static void Main(string[] args)
    {
        // Example HTML content
        string htmlContent = "<html><body><h1>Hello, PdfSharp!</h1><p>This is an example of HTML to PDF.</p></body></html>";

        // Parse HTML using HtmlAgilityPack (You need to add HtmlAgilityPack via NuGet)
        var htmlDoc = new HtmlDocument();
        htmlDoc.LoadHtml(htmlContent);

        // Create a new PDF document
        PdfDocument pdfDocument = new PdfDocument
        {
            Info = { Title = "HTML to PDF Example" }
        };

        // Add a new page to the document
        PdfPage page = pdfDocument.AddPage();

        XGraphics gfx = XGraphics.FromPdfPage(page);
        XFont titleFont = new XFont("Arial", 20, XFontStyle.Bold);
        XFont textFont = new XFont("Arial", 12, XFontStyle.Regular);

        // Draw the parsed HTML content
        int yPosition = 50; // Starting Y position
        foreach (var node in htmlDoc.DocumentNode.SelectNodes("//h1 | //p"))
        {
            if (node.Name == "h1")
            {
                gfx.DrawString(node.InnerText, titleFont, XBrushes.Black, new XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft);
                yPosition += 30; // Adjust spacing
            }
            else if (node.Name == "p")
            {
                gfx.DrawString(node.InnerText, textFont, XBrushes.Black, new XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft);
                yPosition += 20; // Adjust spacing
            }
        }

        // Save the PDF document
        string outputFilePath = "HtmlToPdf.pdf";
        pdfDocument.Save(outputFilePath);
        System.Console.WriteLine($"PDF file created: {outputFilePath}");
    }
}
Imports PdfSharp.Pdf
Imports PdfSharp.Drawing
Imports HtmlAgilityPack

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Example HTML content
		Dim htmlContent As String = "<html><body><h1>Hello, PdfSharp!</h1><p>This is an example of HTML to PDF.</p></body></html>"

		' Parse HTML using HtmlAgilityPack (You need to add HtmlAgilityPack via NuGet)
		Dim htmlDoc = New HtmlDocument()
		htmlDoc.LoadHtml(htmlContent)

		' Create a new PDF document
		Dim pdfDocument As New PdfDocument With {
			.Info = { Title = "HTML to PDF Example" }
		}

		' Add a new page to the document
		Dim page As PdfPage = pdfDocument.AddPage()

		Dim gfx As XGraphics = XGraphics.FromPdfPage(page)
		Dim titleFont As New XFont("Arial", 20, XFontStyle.Bold)
		Dim textFont As New XFont("Arial", 12, XFontStyle.Regular)

		' Draw the parsed HTML content
		Dim yPosition As Integer = 50 ' Starting Y position
		For Each node In htmlDoc.DocumentNode.SelectNodes("//h1 | //p")
			If node.Name = "h1" Then
				gfx.DrawString(node.InnerText, titleFont, XBrushes.Black, New XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft)
				yPosition += 30 ' Adjust spacing
			ElseIf node.Name = "p" Then
				gfx.DrawString(node.InnerText, textFont, XBrushes.Black, New XRect(50, yPosition, page.Width - 100, page.Height - 100), XStringFormats.TopLeft)
				yPosition += 20 ' Adjust spacing
			End If
		Next node

		' Save the PDF document
		Dim outputFilePath As String = "HtmlToPdf.pdf"
		pdfDocument.Save(outputFilePath)
		System.Console.WriteLine($"PDF file created: {outputFilePath}")
	End Sub
End Class
$vbLabelText   $csharpLabel

Explication du Code

  1. Analyse de HTML : L'exemple utilise HtmlAgilityPack (une bibliothèque open source pour analyser et manipuler HTML) pour extraire le texte des balises <h1> et <p>.

  2. Dessin du contenu : La classe XGraphics de PdfSharp est utilisée pour rendre le contenu HTML analysé sous forme de texte sur une page PDF.

  3. Limitations : Cette approche fonctionne pour des structures HTML simples mais ne peut pas gérer des mises en page, styles ou JavaScript complexes.

Avantages et inconvénients de PdfSharp

Avantages

  • Léger et facile à utiliser : PdfSharp est intuitif et simple, ce qui le rend idéal pour les développeurs débutant avec la génération de PDF.
  • Open-Source et gratuit : Pas de frais de licence, et le code source est disponible pour personnalisation.
  • Dessin personnalisé : Offre d'excellentes capacités pour créer des PDF à partir de zéro avec des designs personnalisés.

Inconvénients

  • Pas de conversion HTML en PDF : PdfSharp ne prend pas nativement en charge le rendu du HTML en PDF, nécessitant des bibliothèques supplémentaires pour analyser le HTML.
  • Support limité des fonctionnalités modernes : Ne fournit pas de capacités avancées comme les PDF interactifs, les signatures numériques ou les annotations.
  • Contraintes de performance : Peut ne pas être aussi optimisé que les bibliothèques professionnelles pour les applications à grande échelle ou d'entreprise.

3. Pdfium.NET SDK

Convertisseur HTML en PDF C# Open Source (Comparaison des bibliothèques .NET): Figure 3

Pdfium.NET est une bibliothèque complète basée sur le projet open source PDFium, conçue pour voir, éditer et manipuler des fichiers PDF dans les applications .NET. Il fournit aux développeurs des outils puissants pour créer, éditer et extraire du contenu des PDFs, le rendant adapté à une large gamme de cas d'utilisation. C'est essentiellement une bibliothèque gratuite de conversion HTML en PDF.

Caractéristiques principales de Pdfium.NET SDK

  1. Création et édition de PDF :

    • Générer des PDFs à partir de zéro ou à partir d'images scannées.
    • Éditer les PDFs existants en ajoutant du texte, des images ou des annotations.
  2. Extraction de texte et d'image :

    • Extraire du texte et des images de documents au format PDF pour un traitement ultérieur.
    • Rechercher du texte spécifique dans un document PDF.
  3. Contrôle du visualisateur PDF :

    • Intégrer un visualiseur PDF autonome dans les applications WinForms ou WPF.
    • Supporte le zoom, le défilement, les signets et la recherche de texte.
  4. Compatibilité :

    • Fonctionne avec .NET Framework, .NET Core, .NET Standard, et .NET 6+.
    • Compatible avec les plateformes Windows et macOS.
  5. Fonctionnalités avancées:
    • Fusionner et diviser des fichiers PDF.
    • Rendre des PDFs en tant qu'images pour affichage ou impression.
using Pdfium.Net.SDK;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Initialize Pdfium.NET SDK functionalities
        PdfCommon.Initialize();

        // Create a new PDF document
        PdfDocument pdfDocument = PdfDocument.CreateNew();

        // Add a page to the document (A4 size in points: 8.27 x 11.69 inches)
        var page = pdfDocument.Pages.InsertPageAt(pdfDocument.Pages.Count, 595, 842);

        // Sample HTML content to be parsed and rendered manually
        var htmlContent = "<h1>Hello, Pdfium.NET SDK!</h1><p>This is an example of HTML to PDF.</p>";

        // Example: Manually render text since Pdfium.NET doesn't render HTML directly
        var font = PdfFont.CreateFont(pdfDocument, "Arial");
        page.AddText(72, 750, font, 20, "Hello, Pdfium.NET SDK!");
        page.AddText(72, 700, font, 14, "This is an example of HTML to PDF.");

        // Save the document to a file
        string outputFilePath = "HtmlToPdfExample.pdf";
        pdfDocument.Save(outputFilePath, SaveFlags.Default);
        Console.WriteLine($"PDF created successfully: {outputFilePath}");
    }
}
using Pdfium.Net.SDK;
using System;

class Program
{
    static void Main(string[] args)
    {
        // Initialize Pdfium.NET SDK functionalities
        PdfCommon.Initialize();

        // Create a new PDF document
        PdfDocument pdfDocument = PdfDocument.CreateNew();

        // Add a page to the document (A4 size in points: 8.27 x 11.69 inches)
        var page = pdfDocument.Pages.InsertPageAt(pdfDocument.Pages.Count, 595, 842);

        // Sample HTML content to be parsed and rendered manually
        var htmlContent = "<h1>Hello, Pdfium.NET SDK!</h1><p>This is an example of HTML to PDF.</p>";

        // Example: Manually render text since Pdfium.NET doesn't render HTML directly
        var font = PdfFont.CreateFont(pdfDocument, "Arial");
        page.AddText(72, 750, font, 20, "Hello, Pdfium.NET SDK!");
        page.AddText(72, 700, font, 14, "This is an example of HTML to PDF.");

        // Save the document to a file
        string outputFilePath = "HtmlToPdfExample.pdf";
        pdfDocument.Save(outputFilePath, SaveFlags.Default);
        Console.WriteLine($"PDF created successfully: {outputFilePath}");
    }
}
Imports Pdfium.Net.SDK
Imports System

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Initialize Pdfium.NET SDK functionalities
		PdfCommon.Initialize()

		' Create a new PDF document
		Dim pdfDocument As PdfDocument = PdfDocument.CreateNew()

		' Add a page to the document (A4 size in points: 8.27 x 11.69 inches)
		Dim page = pdfDocument.Pages.InsertPageAt(pdfDocument.Pages.Count, 595, 842)

		' Sample HTML content to be parsed and rendered manually
		Dim htmlContent = "<h1>Hello, Pdfium.NET SDK!</h1><p>This is an example of HTML to PDF.</p>"

		' Example: Manually render text since Pdfium.NET doesn't render HTML directly
		Dim font = PdfFont.CreateFont(pdfDocument, "Arial")
		page.AddText(72, 750, font, 20, "Hello, Pdfium.NET SDK!")
		page.AddText(72, 700, font, 14, "This is an example of HTML to PDF.")

		' Save the document to a file
		Dim outputFilePath As String = "HtmlToPdfExample.pdf"
		pdfDocument.Save(outputFilePath, SaveFlags.Default)
		Console.WriteLine($"PDF created successfully: {outputFilePath}")
	End Sub
End Class
$vbLabelText   $csharpLabel

Explication du code

  1. Initialisation du SDK : La méthode PdfCommon.Initialize() initialise les fonctionnalités de Pdfium.NET.

  2. Créer un PDF : Un nouveau document PDF est créé en utilisant PdfDocument.CreateNew().

  3. Ajout de pages : Les pages sont insérées dans le PDF avec des dimensions spécifiées (par ex., taille A4).

  4. Rendre le contenu HTML : Comme le SDK Pdfium.NET ne supporte pas le rendu HTML de manière native, vous devez analyser manuellement et rendre les éléments HTML comme du texte, des formes ou des images.

  5. Sauvegarder le PDF : Le document est enregistré à un chemin de fichiers avec la méthode Save().

Avantages

  • Permet un contrôle total sur la création et l'édition de PDFs.
  • Flexible pour dessiner et ajouter du texte, des images et des formes.
  • Capacités puissantes pour visualiser et manipuler des PDFs dans des applications de bureau.

Inconvénients

  • Ne convertit pas directement le HTML en PDF.
  • L'analyse et le rendu du HTML manuellement peuvent être complexes et chronophages.
  • Mieux adapté pour des applications se concentrant sur l'édition et la manipulation de PDFs plutôt que sur la conversion de HTML.

Présentation d'IronPDF

Convertisseur HTML en PDF C# Open Source (Comparaison des bibliothèques .NET): Figure 4

IronPDF est une bibliothèque de qualité professionnelle conçue pour les développeurs .NET afin de convertir facilement du contenu HTML en PDFs de haute qualité. Reconnu pour sa fiabilité, ses fonctionnalités avancées et sa facilité d'utilisation, IronPDF simplifie le processus de développement tout en offrant un rendu précis et une fonctionnalité robuste. Voici pourquoi IronPDF est une solution exceptionnelle :

Fonctionnalités clés

  1. Conversion directe de HTML en PDF : Créez des documents PDF directement en utilisant IronPDF avec du contenu HTML, y compris CSS et JavaScript, dans des PDFs entièrement formatés. Avec seulement quelques lignes de code, les développeurs peuvent générer des PDFs à partir de pages Web, de chaînes HTML brutes ou de fichiers HTML locaux.

  2. Capacités de rendu modernes : En supportant les normes Web les plus récentes, IronPDF garantit un rendu précis des mises en page complexes, des styles et des éléments interactifs pour convertir les pages HTML en PDF.

  3. Fonctionnalités avancées des PDFs : IronPDF offre de nombreuses options de personnalisation, telles que l'ajout d'en-têtes, de pieds de page, de filigranes, d'annotations et de signets. Il permet également de fusionner, diviser et éditer des PDFs existants.

  4. Performance et évolutivité : Optimisé pour les applications de petite à grande échelle, IronPDF offre des performances fiables et rapides pour des projets de toute taille.

  5. Facilité d'intégration : Conçu pour .NET Framework et .NET Core, IronPDF s'intègre facilement aux applications C#, offrant aux développeurs un processus de configuration simple et une documentation complète.

Pourquoi choisir IronPDF?

IronPDF se démarque parmi les autres solutions grâce à sa combinaison de fonctionnalités, de support aux développeurs et de performance. Contrairement aux alternatives open-source qui nécessitent souvent une configuration étendue ou des dépendances externes, IronPDF est une solution autonome qui simplifie le développement sans sacrifier la fonctionnalité. Que ce soit pour générer des factures, des rapports ou archiver du contenu Web, IronPDF donne aux développeurs les outils dont ils ont besoin pour obtenir des résultats de qualité professionnelle rapidement et efficacement.

IronPDF est un choix pratique pour les développeurs qui recherchent la fiabilité, l'évolutivité et la facilité d'utilisation dans leurs flux de travail de conversion de HTML en PDF.

Comment convertir HTML en PDF en utilisant IronPDF

using IronPdf;

class Program
{
    static void Main()
    {
        // Specify license key
        IronPdf.License.LicenseKey = "Your Key";

        // Create a new HtmlToPdf object using ChromePdfRenderer
        var Renderer = new ChromePdfRenderer();

        // Define the HTML string to be converted
        string htmlContent = "<html><body><h1>IronPDF: Better than Open source</h1></body></html>";

        // Convert the HTML string to a PDF document
        var document = Renderer.RenderHtmlAsPdf(htmlContent);

        // Save the PDF document to a file
        document.SaveAs("html2Pdf.pdf");

        Console.WriteLine("PDF generated and saved successfully!");
    }
}
using IronPdf;

class Program
{
    static void Main()
    {
        // Specify license key
        IronPdf.License.LicenseKey = "Your Key";

        // Create a new HtmlToPdf object using ChromePdfRenderer
        var Renderer = new ChromePdfRenderer();

        // Define the HTML string to be converted
        string htmlContent = "<html><body><h1>IronPDF: Better than Open source</h1></body></html>";

        // Convert the HTML string to a PDF document
        var document = Renderer.RenderHtmlAsPdf(htmlContent);

        // Save the PDF document to a file
        document.SaveAs("html2Pdf.pdf");

        Console.WriteLine("PDF generated and saved successfully!");
    }
}
Imports IronPdf

Friend Class Program
	Shared Sub Main()
		' Specify license key
		IronPdf.License.LicenseKey = "Your Key"

		' Create a new HtmlToPdf object using ChromePdfRenderer
		Dim Renderer = New ChromePdfRenderer()

		' Define the HTML string to be converted
		Dim htmlContent As String = "<html><body><h1>IronPDF: Better than Open source</h1></body></html>"

		' Convert the HTML string to a PDF document
		Dim document = Renderer.RenderHtmlAsPdf(htmlContent)

		' Save the PDF document to a file
		document.SaveAs("html2Pdf.pdf")

		Console.WriteLine("PDF generated and saved successfully!")
	End Sub
End Class
$vbLabelText   $csharpLabel

Explication de l'extrait de code

  1. Configuration de la clé de licence : Le programme commence par définir la clé de licence IronPDF, qui est requise pour débloquer toutes les fonctionnalités de la bibliothèque.

  2. Création du Renderer : Une instance de ChromePdfRenderer est initialisée. Ce composant est responsable de la conversion de contenu HTML en document PDF, agissant comme un pont entre le HTML brut et le rendu final.

  3. Définition du contenu HTML : Une variable de chaîne, htmlContent, est créée pour stocker la structure HTML qui sera convertie en PDF. Dans cet exemple, elle contient un simple titre.

  4. Conversion de HTML en PDF : La méthode RenderHtmlAsPdf() est appelée sur l'instance de ChromePdfRenderer, en passant la chaîne HTML en entrée. Cette fonction traite le contenu et le transforme en un document PDF.

  5. Sauvegarde du PDF : Enfin, le PDF généré est sauvegardé dans un fichier nommé "html2Pdf.pdf" en utilisant la méthode SaveAs(), le stockant sur le disque pour un accès futur.

Sortie PDF

Convertisseur HTML en PDF C# Open Source (Comparaison des bibliothèques .NET) : Figure 5

Informations sur la licence (Version d'essai disponible)

IronPDF nécessite une clé de licence valide pour une fonctionnalité complète. Vous pouvez obtenir une licence d'essai sur le site officiel. Avant d'utiliser la bibliothèque IronPDF, définissez la clé de licence comme suit :

IronPdf.License.LicenseKey = "your key";
IronPdf.License.LicenseKey = "your key";
IronPdf.License.LicenseKey = "your key"
$vbLabelText   $csharpLabel

Cela assure que la bibliothèque fonctionne sans limitations.

Conclusion

PuppeteerSharp est un excellent choix pour les développeurs qui ont besoin d'un rendu précis de HTML en PDF, surtout lorsqu'il s'agit de pages Web complexes. Cependant, pour les applications nécessitant des fonctionnalités PDF avancées, une optimisation des performances et une intégration facile, des outils professionnels comme IronPDF sont souvent la meilleure option.

PdfSharp est un excellent choix pour la création et la manipulation de PDFs légers et programmatiques, surtout pour les projets avec des exigences simples. Cependant, si votre application nécessite de convertir du HTML en PDF ou des fonctionnalités PDF avancées, IronPDF propose une solution plus efficace et riche en fonctionnalités.

Bien que le SDK Pdfium.NET soit un outil robuste pour la manipulation des PDFs, IronPDF fournit un support natif pour la conversion directe de HTML en PDF, y compris le rendu du HTML, CSS et JavaScript modernes. IronPDF simplifie le flux de travail avec des méthodes intégrées telles que HtmlToPdf.RenderHtmlAsPdf(), le rendant plus rapide et plus efficace pour les développeurs.

Que ce soit pour générer des factures, des rapports ou archiver du contenu Web, IronPDF donne aux développeurs les outils dont ils ont besoin pour obtenir des résultats de qualité professionnelle rapidement et efficacement.

IronPDF est un choix pratique pour les développeurs qui apprécient la fiabilité, l'évolutivité et la facilité d'utilisation dans leurs flux de travail de conversion de HTML en PDF.

Questions Fréquemment Posées

Comment puis-je convertir HTML en PDF en C# ?

Vous pouvez utiliser la méthode RenderHtmlAsPdf d'IronPDF pour convertir des chaînes HTML en PDFs. De plus, IronPDF prend en charge la conversion directe de fichiers HTML en PDFs en utilisant la méthode RenderHtmlFileAsPdf.

Quels sont les avantages de l'utilisation d'IronPDF par rapport aux bibliothèques open-source pour la conversion PDF ?

IronPDF propose une conversion directe de HTML en PDF avec prise en charge des standards web modernes, des fonctionnalités PDF avancées, et une intégration facile avec les applications .NET. Il offre une solution professionnelle par rapport aux alternatives open-source comme PuppeteerSharp, PdfSharp, et Pdfium.NET SDK.

IronPDF peut-il gérer HTML complexe, CSS, et JavaScript lors de la conversion en PDF ?

Oui, IronPDF prend en charge les derniers standards web, garantissant un rendu précis des mises en page complexes, des styles et des éléments interactifs lors de la conversion HTML en PDF.

Qu'est-ce qui est requis pour utiliser IronPDF pour la conversion HTML en PDF ?

Pour utiliser IronPDF, une clé de licence valide est requise. Les développeurs peuvent obtenir une licence d'essai depuis le site officiel pour débloquer toutes les fonctionnalités.

Qu'est-ce qui rend IronPDF un choix pratique pour les développeurs ?

IronPDF est pratique en raison de sa fiabilité, de sa scalabilité, de sa facilité d'utilisation, et de ses fonctionnalités robustes pour la conversion HTML en PDF. Il est idéal pour générer des PDFs professionnels de manière efficace et efficiente.

Quelles sont quelques limitations de l'utilisation de PuppeteerSharp pour la génération de PDF ?

PuppeteerSharp nécessite le téléchargement et le regroupement du navigateur Chromium, ce qui augmente la taille de fichier et peut être gourmand en ressources. Il se concentre sur le rendu plutôt que sur l'amélioration des PDFs avec des fonctionnalités supplémentaires.

En quoi le Pdfium.NET SDK diffère-t-il d'IronPDF en termes de conversion HTML en PDF ?

Pdfium.NET SDK ne prend pas en charge nativement la conversion HTML en PDF, nécessitant un rendu manuel des éléments HTML. En revanche, IronPDF propose des méthodes intégrées pour la conversion directe, simplifiant le processus.

PdfSharp est-il adapté pour rendre des structures HTML complexes en PDF ?

PdfSharp ne prend pas en charge nativement la conversion HTML en PDF et peut avoir des problèmes avec des mises en page complexes, des styles ou JavaScript, nécessitant des bibliothèques supplémentaires pour analyser HTML.

Quelles fonctionnalités IronPDF offre-t-il pour la manipulation de PDF ?

IronPDF fournit des outils pour créer, éditer et extraire du contenu des PDFs. Il prend en charge la conversion directe de HTML en PDF, l'extraction de texte/ images, et l'intégration d'un visualiseur PDF dans les applications.

IronPDF est-il compatible avec .NET 10, et quels avantages offre-t-il lorsqu'il est utilisé sur des projets .NET 10 ?

Oui, IronPDF est entièrement compatible avec .NET 10. Il prend en charge les projets .NET 10 sans aucune manipulation particulière et tire parti des améliorations d'exécution telles que la dévirtualisation des méthodes d'interface de tableau, des performances accrues et une consommation de mémoire réduite.

Quelles sont les nouvelles améliorations apportées par IronPDF pour la conversion HTML vers PDF dans .NET 10 ?

Dans .NET 10, IronPDF offre une prise en charge immédiate dès sa dernière version, assurant une compatibilité totale avec le nouveau runtime. Les développeurs bénéficient ainsi de temps de démarrage plus rapides, d'une meilleure gestion de la mémoire et de performances de rendu améliorées grâce aux optimisations apportées au moteur de rendu et au moteur JIT de .NET 10.

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