Passer au contenu du pied de page
UTILISATION DE IRONPDF

Conversion de HTML en PDF en C# à l'aide de .NET 10

IronPDF permet aux développeurs C# de convertir du HTML en PDF à l'aide d'un moteur de rendu basé sur Chrome, prenant en charge CSS, JavaScript et la génération de contenu dynamique en seulement quelques lignes de code pour les applications .NET 10.

La conversion de HTML en PDF en C# est une exigence courante pour les développeurs .NET qui créent des applications d'entreprise. Que vous génériez des fichiers PDF à partir de contenu Web , de documents HTML ou de chaînes HTML, la possibilité de convertir du HTML en PDF professionnels est essentielle pour la création de rapports , de factures et d'autres documents imprimables.

La bibliothèque IronPDF est un puissant convertisseur HTML vers PDF conçu pour les applications .NET Framework et les projets .NET 10 modernes. Il vous permet de convertir facilement du HTML, des styles CSS et même du rendu JavaScript en documents PDF de haute qualité, le tout en quelques lignes de code C# seulement. La bibliothèque exploite un moteur de rendu Chrome qui garantit une conversion au pixel près .

La page d'accueil d'IronPDF pour .NET présente un exemple de code de conversion HTML vers PDF en C# avec la classe ChromePdfRenderer.

Pourquoi utiliser IronPDF pour la conversion HTML vers PDF ?

Contrairement aux anciennes bibliothèques PDF qui nécessitaient le dessin manuel des éléments, IronPDF utilise un moteur Chromium complet pour le rendu du contenu HTML. Ainsi, vos fichiers HTML, CSS et images sont traités exactement comme le ferait un navigateur, préservant fidèlement la mise en page, les polices et les éléments HTML. C'est idéal pour :

IronPDF fait office de bibliothèque de conversion complète pour créer des documents PDF , offrant aux développeurs .NET à la fois simplicité et un contrôle puissant sur la génération de PDF. La bibliothèque prend en charge l'encodage UTF-8 pour les langues internationales et offre des options de rendu complètes pour la personnalisation.

Comment installer IronPDF dans un projet .NET 10 ?

Commencez par créer un nouveau projet .NET 10 . Pour des instructions d'installation détaillées, reportez-vous à la présentation de l'installation d'IronPDF ou à la documentation du package NuGet .

! Fenêtre de configuration du projet Visual Studio affichant la configuration d'un nouveau projet d'application console C# nommé 'HtmlToPDF' avec des options pour le ciblage de la plateforme et l'emplacement du fichier.

Actuellement, .NET 10 est en préversion , mais il est entièrement compatible avec IronPDF . La bibliothèque assure la compatibilité sur différentes plateformes, notamment Windows , Linux et macOS .

! Boîte de dialogue de création de projet Visual Studio affichant les paramètres d'informations supplémentaires pour une application console avec le framework .NET 10.0 Preview sélectionné et les options de prise en charge des conteneurs.

Nous l'utiliserons ici pour démontrer comment la conversion HTML vers PDF fonctionne parfaitement avec les dernières fonctionnalités .NET et le moteur de rendu d'IronPDF basé sur Chrome.

Installons maintenant IronPDF !

Vous pouvez installer IronPDF directement depuis le gestionnaire de packages NuGet pour Solutions.

! Fenêtre du Gestionnaire de packages NuGet affichant le package IronPdf installé avec la version 2025.9.4 dans Visual Studio

Il existe d'autres options d'installation. Dans votre Explorateur de Solutions, ouvrez le terminal ou l'interface de ligne de commande (CLI) et exécutez :

dotnet add package IronPdf
dotnet add package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronPdf
$vbLabelText   $csharpLabel

ou en utilisant la console du gestionnaire de packages NuGet :

PM > Install-Package IronPdf

! Fenêtre de la console du gestionnaire de packages affichant l'installation réussie du package NuGet IronPDF version 2025.9.4 dans un projet Visual Studio nommé HtmlToPDF.

Vous êtes maintenant prêt à commencer à coder. Pour une configuration correcte, assurez-vous d'avoir appliqué votre clé de licence si vous utilisez la version commerciale.

Comment effectuer une conversion HTML de base vers PDF ?

Commençons par un exemple en C# de conversion HTML vers PDF . Cette approche simple convient parfaitement aux documents simples et illustre les fonctionnalités principales de l'API.

using IronPdf;

class Program
{
    public static void Main()
    {
        var renderer = new ChromePdfRenderer();

        string html = "<html><body><h1>HTML to PDF C# Example</h1><p>This demonstrates PDF conversion in .NET 10.</p></body></html>";

        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("basic_output.pdf");
    }
}
using IronPdf;

class Program
{
    public static void Main()
    {
        var renderer = new ChromePdfRenderer();

        string html = "<html><body><h1>HTML to PDF C# Example</h1><p>This demonstrates PDF conversion in .NET 10.</p></body></html>";

        PdfDocument pdf = renderer.RenderHtmlAsPdf(html);
        pdf.SaveAs("basic_output.pdf");
    }
}
Imports IronPdf

Class Program
    Public Shared Sub Main()
        Dim renderer As New ChromePdfRenderer()

        Dim html As String = "<html><body><h1>HTML to PDF C# Example</h1><p>This demonstrates PDF conversion in .NET 10.</p></body></html>"

        Dim pdf As PdfDocument = renderer.RenderHtmlAsPdf(html)
        pdf.SaveAs("basic_output.pdf")
    End Sub
End Class
$vbLabelText   $csharpLabel

Explication :

ChromePdfRenderer est la classe de conversion principale utilisant Chromium.

En quelques lignes seulement, nous avons créé un convertisseur HTML vers PDF fonctionnel en utilisant C#.

! Adobe Acrobat affiche un document PDF intitulé " Exemple de conversion HTML vers PDF en C# " et sous-titré " Ceci illustre la conversion PDF dans .NET 10 ".

Comment convertir des fichiers HTML et des URL en PDF ?

Quand dois-je convertir les fichiers HTML locaux ?

Vous pouvez convertir des fichiers HTML depuis le disque, y compris les ressources liées comme les fichiers CSS ou les images. Ceci est utile lors de l'utilisation de modèles ou de la gestion des polices et des URL de base :

var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("template.html");
pdf.SaveAs("file_conversion.pdf");
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderHtmlFileAsPdf("template.html");
pdf.SaveAs("file_conversion.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("template.html")
pdf.SaveAs("file_conversion.pdf")
$vbLabelText   $csharpLabel

Cette méthode lit votre fichier HTML local et charge automatiquement les ressources externes. Pour les scénarios complexes, vous pouvez convertir des fichiers ZIP HTML contenant toutes les ressources.

! Visionneuse PDF affichant un exemple de conversion HTML vers PDF avec un tableau contenant les quantités et les prix des fruits (pommes, bananes, oranges).

Quand dois-je convertir des pages Web à l'aide d'une URL ?

Si votre entrée est une page web ou une URL existante, affichez-la directement. Cette approche permet de capturer du contenu Web en direct, des tableaux de bord, ou de gérer les cookies et les en-têtes de requêtes HTTP :

var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_96___");
pdf.SaveAs("webpage_conversion.pdf");
var renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("___PROTECTED_URL_96___");
pdf.SaveAs("webpage_conversion.pdf");
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("___PROTECTED_URL_96___")
pdf.SaveAs("webpage_conversion.pdf")
$vbLabelText   $csharpLabel

Le code effectue la conversion d'URL en PDF, en générant le document HTML avec une prise en charge complète de JavaScript et CSS. Pour les pages authentifiées, configurez les connexions au site Web TLS .

Capture d'écran de la page d'accueil d'IronPDF pour .NET montrant les fonctionnalités de la bibliothèque PDF C#, notamment les capacités de conversion HTML vers PDF et la prise en charge multiplateforme.

Comment convertir du contenu HTML avec du style et du JavaScript ?

De nombreuses pages web utilisent des éléments dynamiques, des styles CSS et le rendu JavaScript ( graphiques , tableaux de bord). IronPDF prend entièrement en charge cette fonctionnalité via son API WaitFor :

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(2000); // wait for dynamic JS
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;

// Custom paper size is also available
renderer.RenderingOptions.SetCustomPaperSize(210, 297); // A4 in mm

PdfDocument pdf = renderer.RenderHtmlFileAsPdf("Reports/sales.html");
pdf.SaveAs("styled_output.pdf");
var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(2000); // wait for dynamic JS
renderer.RenderingOptions.MarginTop = 20;
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;

// Custom paper size is also available
renderer.RenderingOptions.SetCustomPaperSize(210, 297); // A4 in mm

PdfDocument pdf = renderer.RenderHtmlFileAsPdf("Reports/sales.html");
pdf.SaveAs("styled_output.pdf");
Dim renderer As New ChromePdfRenderer()

renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay(2000) ' wait for dynamic JS
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4

' Custom paper size is also available
renderer.RenderingOptions.SetCustomPaperSize(210, 297) ' A4 in mm

Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf("Reports/sales.html")
pdf.SaveAs("styled_output.pdf")
$vbLabelText   $csharpLabel

Cela garantit qu'IronPDF attend que le contenu dynamique soit chargé avant le rendu, ce qui permet d'obtenir un rendu visuel précis. Vous pouvez également afficher des sites WebGL et gérer des polices Web complexes.

! Visionneuse PDF affichant un rapport de performance dynamique avec un graphique à barres affichant les pourcentages de performance de l'équipe pour les ventes (80%), le marketing (95%), le support (75%) et les RH (90%).

Comment ajouter des en-têtes, des pieds de page et des numéros de page ?

Ajoutez facilement des en-têtes et des pieds de page professionnels à vos PDF. IronPDF prend en charge à la fois les en-têtes de texte et les en-têtes HTML enrichis avec numéros de page :

renderer.RenderingOptions.FirstPageNumber = 1;
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center; font-size:14px; margin-top:20px;'>Sales Report</div>",
    Height = 30,
    Spacing = 5
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center; font-size:14px; margin-bottom:20px;'>Page {page} of {total-pages}</div>",
    Height = 30,
    Spacing = 5
};
renderer.RenderingOptions.FirstPageNumber = 1;
renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center; font-size:14px; margin-top:20px;'>Sales Report</div>",
    Height = 30,
    Spacing = 5
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter()
{
    HtmlFragment = "<div style='text-align:center; font-size:14px; margin-bottom:20px;'>Page {page} of {total-pages}</div>",
    Height = 30,
    Spacing = 5
};
renderer.RenderingOptions.FirstPageNumber = 1
renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter() With {
    .HtmlFragment = "<div style='text-align:center; font-size:14px; margin-top:20px;'>Sales Report</div>",
    .Height = 30,
    .Spacing = 5
}

renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter() With {
    .HtmlFragment = "<div style='text-align:center; font-size:14px; margin-bottom:20px;'>Page {page} of {total-pages}</div>",
    .Height = 30,
    .Spacing = 5
}
$vbLabelText   $csharpLabel

IronPDF traite ces éléments comme des éléments HTML, vous pouvez donc les styliser avec CSS et inclure des données personnalisées telles que des dates ou des noms d'entreprise. Pour des besoins plus simples, utilisez des en-têtes et des pieds de page de texte .

! Un document PDF affichant un rapport de performance dynamique avec un graphique à barres indiquant les pourcentages de performance des équipes pour les départements des ventes, du marketing, du support et des ressources humaines, généré à l'aide d'IronPDF et d'ApexCharts.

Comment générer des PDF à partir de plusieurs extraits HTML ?

Pour générer des PDF en combinant des extraits HTML, vous pouvez les fusionner . Cela permet de créer des rapports à plusieurs sections ou de combiner du contenu provenant de différentes sources :

var renderer = new ChromePdfRenderer();

PdfDocument part1 = renderer.RenderHtmlAsPdf("<h1>Section 1</h1><p>First section content</p>");
PdfDocument part2 = renderer.RenderHtmlAsPdf("<h1>Section 2</h1><p>Second section content</p>");

var merged = PdfDocument.Merge(part1, part2);
merged.SaveAs("Merged.pdf");

// Alternative approach: copy specific pages
var combinedDoc = new PdfDocument();
combinedDoc.CopyPage(part1, 0); // Copy first page
combinedDoc.CopyPage(part2, 0); // Copy first page
combinedDoc.SaveAs("Combined.pdf");
var renderer = new ChromePdfRenderer();

PdfDocument part1 = renderer.RenderHtmlAsPdf("<h1>Section 1</h1><p>First section content</p>");
PdfDocument part2 = renderer.RenderHtmlAsPdf("<h1>Section 2</h1><p>Second section content</p>");

var merged = PdfDocument.Merge(part1, part2);
merged.SaveAs("Merged.pdf");

// Alternative approach: copy specific pages
var combinedDoc = new PdfDocument();
combinedDoc.CopyPage(part1, 0); // Copy first page
combinedDoc.CopyPage(part2, 0); // Copy first page
combinedDoc.SaveAs("Combined.pdf");
Dim renderer = New ChromePdfRenderer()

Dim part1 As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Section 1</h1><p>First section content</p>")
Dim part2 As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Section 2</h1><p>Second section content</p>")

Dim merged = PdfDocument.Merge(part1, part2)
merged.SaveAs("Merged.pdf")

' Alternative approach: copy specific pages
Dim combinedDoc = New PdfDocument()
combinedDoc.CopyPage(part1, 0) ' Copy first page
combinedDoc.CopyPage(part2, 0) ' Copy first page
combinedDoc.SaveAs("Combined.pdf")
$vbLabelText   $csharpLabel

Cela s'avère utile lors de la création de rapports à plusieurs sections à partir de différents fragments HTML. Vous pouvez également ajouter des signets pour améliorer la navigation.

! Interface d'Adobe Acrobat affichant un document PDF avec l'en-tête " Section 1 " et un panneau Pages affichant les vignettes des sections 1 et 2.

Comment convertir du HTML en PDF via les API Web ?

Dans l'API Web ASP.NET, générez et renvoyez des fichiers PDF sans les enregistrer sur disque à l'aide de MemoryStream . Ce modèle est idéal pour les applications Blazor et les services RESTful :

[HttpGet("download")]
public IActionResult GetPdf()
{
    var renderer = new ChromePdfRenderer();
    string html = "<h1>Web Report</h1><p>Generated dynamically.</p>";

    var pdf = renderer.RenderHtmlAsPdf(html);
    var bytes = pdf.BinaryData;

    // Optional: Add metadata
    pdf.MetaData.Author = "API Service";
    pdf.MetaData.CreationDate = DateTime.Now;

    return File(bytes, "application/pdf", "report.pdf");
}
[HttpGet("download")]
public IActionResult GetPdf()
{
    var renderer = new ChromePdfRenderer();
    string html = "<h1>Web Report</h1><p>Generated dynamically.</p>";

    var pdf = renderer.RenderHtmlAsPdf(html);
    var bytes = pdf.BinaryData;

    // Optional: Add metadata
    pdf.MetaData.Author = "API Service";
    pdf.MetaData.CreationDate = DateTime.Now;

    return File(bytes, "application/pdf", "report.pdf");
}
<HttpGet("download")>
Public Function GetPdf() As IActionResult
    Dim renderer = New ChromePdfRenderer()
    Dim html As String = "<h1>Web Report</h1><p>Generated dynamically.</p>"

    Dim pdf = renderer.RenderHtmlAsPdf(html)
    Dim bytes = pdf.BinaryData

    ' Optional: Add metadata
    pdf.MetaData.Author = "API Service"
    pdf.MetaData.CreationDate = DateTime.Now

    Return File(bytes, "application/pdf", "report.pdf")
End Function
$vbLabelText   $csharpLabel

Ce modèle fonctionne parfaitement pour la génération de PDF côté serveur dans les applications web .NET 10. Vous pouvez intégrer des vues CSHTML pour les applications MVC.

Comment personnaliser les options de rendu HTML ?

Contrôlez le rendu des éléments et ressources HTML grâce à des options de rendu complètes :

renderer.RenderingOptions.BaseUrl = "___PROTECTED_URL_97___";
renderer.RenderingOptions.CustomHeaders.Add("Authorization", "Bearer token");
renderer.RenderingOptions.WaitFor.NavigationTimeout = 10000;
renderer.RenderingOptions.EnableJavaScript = true;

// Configure paper and margins
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Set viewport for responsive design
renderer.RenderingOptions.ViewPortWidth = 1920;
renderer.RenderingOptions.ViewPortHeight = 1080;
renderer.RenderingOptions.BaseUrl = "___PROTECTED_URL_97___";
renderer.RenderingOptions.CustomHeaders.Add("Authorization", "Bearer token");
renderer.RenderingOptions.WaitFor.NavigationTimeout = 10000;
renderer.RenderingOptions.EnableJavaScript = true;

// Configure paper and margins
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

// Set viewport for responsive design
renderer.RenderingOptions.ViewPortWidth = 1920;
renderer.RenderingOptions.ViewPortHeight = 1080;
renderer.RenderingOptions.BaseUrl = "___PROTECTED_URL_97___"
renderer.RenderingOptions.CustomHeaders.Add("Authorization", "Bearer token")
renderer.RenderingOptions.WaitFor.NavigationTimeout = 10000
renderer.RenderingOptions.EnableJavaScript = True

' Configure paper and margins
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape
renderer.RenderingOptions.MarginBottom = 25
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20

' Set viewport for responsive design
renderer.RenderingOptions.ViewPortWidth = 1920
renderer.RenderingOptions.ViewPortHeight = 1080
$vbLabelText   $csharpLabel

Cela s'avère utile lors du rendu de pages contenant des ressources externes ou lors de l'extraction de données Web suivie d'une conversion en PDF. Pour optimiser l'impression, configurez les types de médias CSS et les formats de papier personnalisés .

Comment créer des outils en ligne de commande pour la conversion de PDF ?

Créez des outils en ligne de commande pour la conversion par lots de HTML en PDF, utiles pour l'automatisation et les pipelines CI/CD :

using IronPdf;
using System;

class Program
{
    public static void Main(string[] args)
    {
        if (args.Length < 2)
        {
            Console.WriteLine("Usage: pdfconvert input.html output.pdf");
            return;
        }

        string inputFile = args[0];
        string outputPath = args[1];

        var renderer = new ChromePdfRenderer();

        // Configure compression for smaller files
        renderer.RenderingOptions.CompressImages = true;

        PdfDocument pdf = renderer.RenderHtmlFileAsPdf(inputFile);
        pdf.SaveAs(outputPath);

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

class Program
{
    public static void Main(string[] args)
    {
        if (args.Length < 2)
        {
            Console.WriteLine("Usage: pdfconvert input.html output.pdf");
            return;
        }

        string inputFile = args[0];
        string outputPath = args[1];

        var renderer = new ChromePdfRenderer();

        // Configure compression for smaller files
        renderer.RenderingOptions.CompressImages = true;

        PdfDocument pdf = renderer.RenderHtmlFileAsPdf(inputFile);
        pdf.SaveAs(outputPath);

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

Class Program
    Public Shared Sub Main(args As String())
        If args.Length < 2 Then
            Console.WriteLine("Usage: pdfconvert input.html output.pdf")
            Return
        End If

        Dim inputFile As String = args(0)
        Dim outputPath As String = args(1)

        Dim renderer As New ChromePdfRenderer()

        ' Configure compression for smaller files
        renderer.RenderingOptions.CompressImages = True

        Dim pdf As PdfDocument = renderer.RenderHtmlFileAsPdf(inputFile)
        pdf.SaveAs(outputPath)

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

Exécutez-le depuis l'interface de ligne de commande (CLI) :

dotnet run "input.html" "output.pdf"

! Terminal PowerShell affichant une commande dotnet run avec les paramètres input.html et output.pdf, suivie du message de succès " PDF généré avec succès ! "

Vous avez créé un convertisseur PDF en ligne de commande simple pour les développeurs .NET. Pour une utilisation en production, ajoutez une journalisation personnalisée et une gestion des erreurs.

! Adobe Acrobat affiche un fichier PDF avec le texte " Converti à partir de la ligne de commande à l'aide d'IronPDF " centré sur la page.

Comment utiliser les modèles asynchrones pour la génération de PDF ?

Utilisez des modèles asynchrones pour les applications .NET 10 modernes. Cette approche est essentielle pour la génération multithread dans les scénarios à hautes performances :

public static async Task Main()
{
    var renderer = new ChromePdfRenderer();
    string url = "___PROTECTED_URL_98___";

    // Async rendering with cancellation token support
    using var cts = new CancellationTokenSource(TimeSpan.FromMinutes(2));

    PdfDocument pdf = await renderer.RenderUrlAsPdfAsync(url, cts.Token);
    pdf.SaveAs("async_output.pdf");

    // For parallel processing of multiple documents
    var urls = new[] { "___PROTECTED_URL_99___", "___PROTECTED_URL_100___", "___PROTECTED_URL_101___" };
    var tasks = urls.Select(u => renderer.RenderUrlAsPdfAsync(u)).ToArray();
    var pdfs = await Task.WhenAll(tasks);

    // Merge all PDFs
    var combined = PdfDocument.Merge(pdfs);
    combined.SaveAs("batch_output.pdf");
}
public static async Task Main()
{
    var renderer = new ChromePdfRenderer();
    string url = "___PROTECTED_URL_98___";

    // Async rendering with cancellation token support
    using var cts = new CancellationTokenSource(TimeSpan.FromMinutes(2));

    PdfDocument pdf = await renderer.RenderUrlAsPdfAsync(url, cts.Token);
    pdf.SaveAs("async_output.pdf");

    // For parallel processing of multiple documents
    var urls = new[] { "___PROTECTED_URL_99___", "___PROTECTED_URL_100___", "___PROTECTED_URL_101___" };
    var tasks = urls.Select(u => renderer.RenderUrlAsPdfAsync(u)).ToArray();
    var pdfs = await Task.WhenAll(tasks);

    // Merge all PDFs
    var combined = PdfDocument.Merge(pdfs);
    combined.SaveAs("batch_output.pdf");
}
Imports System
Imports System.Threading
Imports System.Threading.Tasks
Imports System.Linq

Public Module Program
    Public Async Function Main() As Task
        Dim renderer = New ChromePdfRenderer()
        Dim url As String = "___PROTECTED_URL_98___"

        ' Async rendering with cancellation token support
        Using cts As New CancellationTokenSource(TimeSpan.FromMinutes(2))
            Dim pdf As PdfDocument = Await renderer.RenderUrlAsPdfAsync(url, cts.Token)
            pdf.SaveAs("async_output.pdf")
        End Using

        ' For parallel processing of multiple documents
        Dim urls = { "___PROTECTED_URL_99___", "___PROTECTED_URL_100___", "___PROTECTED_URL_101___" }
        Dim tasks = urls.Select(Function(u) renderer.RenderUrlAsPdfAsync(u)).ToArray()
        Dim pdfs = Await Task.WhenAll(tasks)

        ' Merge all PDFs
        Dim combined = PdfDocument.Merge(pdfs)
        combined.SaveAs("batch_output.pdf")
    End Function
End Module
$vbLabelText   $csharpLabel

Cela fonctionne parfaitement pour les systèmes évolutifs ou les API cloud gérant la génération de PDF en grand volume. Pour de meilleures performances, envisagez la génération parallèle de PDF .

Quelles sont les meilleures pratiques pour la génération de PDF à grande échelle ?

  • Réutiliser les instances ChromePdfRenderer pour réduire la surcharge
  • Stockez les fichiers temporaires sur un stockage SSD rapide ou utilisez les flux de mémoire.
  • Utilisez des tâches asynchrones avec une prise en charge appropriée des jetons d'annulation
  • Évitez un rendu JavaScript excessif en configurant les délais de rendu.
  • Valider les entrées HTML pour éviter les erreurs de conversion
  • Mettre en œuvre la compression PDF pour les fichiers plus petits
  • Envisagez de linéariser les fichiers PDF pour l'affichage sur le Web.

Pour le déploiement, IronPDF prend en charge Azure , AWS Lambda et les conteneurs Docker . La bibliothèque fournit des conseils détaillés en matière d'optimisation des performances .

Fonctionnalités avancées pour les applications d'entreprise

IronPDF offre des fonctionnalités avancées pour les scénarios d'entreprise :

Conclusion

Avec IronPDF et .NET 10, la conversion de contenu HTML en PDF professionnels est simple, que vous travailliez avec des chaînes HTML, des fichiers locaux ou des URL. Le moteur de rendu de la bibliothèque, basé sur Chrome, garantit une fidélité parfaite aux normes web modernes, notamment CSS3 et JavaScript.

De simples extraits de code à la génération à grande échelle, IronPDF fournit un convertisseur HTML vers PDF complet prenant en charge JavaScript, CSS, les en-têtes personnalisés et les ressources liées. L'API complète gère tout, des conversions de base aux exigences complexes des entreprises, comme les signatures numériques et l'organisation des PDF .

En quelques lignes de code seulement, vous pouvez générer des PDF, automatiser la génération de rapports ou intégrer un convertisseur PDF directement dans vos applications .NET. La documentation complète et les exemples de code de la bibliothèque facilitent la prise en main.

Commencez dès aujourd'hui à expérimenter avec des projets HTML-to-PDF grâce à l' essai gratuit d'IronPDF . Téléchargez maintenant et découvrez avec quelle facilité vous pouvez générer des PDF de haute qualité à partir de votre contenu HTML. Pour des comparaisons détaillées avec les alternatives, consultez la façon dont IronPDF se compare à iText , Aspose et d'autres bibliothèques PDF .

Questions Fréquemment Posées

Quelle est l'utilisation principale de la conversion HTML en PDF en C#?

L'utilisation principale de la conversion HTML en PDF en C# est de générer des fichiers PDF professionnels à partir de contenu web, de documents HTML ou de chaînes HTML. Ceci est essentiel pour créer des rapports, des factures et d'autres actifs imprimables dans des applications d'entreprise ou SaaS.

Pourquoi la conversion HTML en PDF est-elle importante pour les développeurs .NET?

La conversion HTML en PDF est importante pour les développeurs .NET car elle leur permet d'intégrer des fonctionnalités de génération de documents dans leurs applications, ce qui est crucial pour produire des documents de haute qualité, partageables et imprimables tels que des rapports et des factures.

IronPDF peut-il gérer de grands documents HTML pour la conversion en PDF?

Oui, IronPDF peut gérer efficacement de grands documents HTML et les convertir en PDFs sans compromettre la performance ou la qualité.

IronPDF prend-il en charge la conversion de chaînes HTML en PDF?

IronPDF prend en charge la conversion de chaînes HTML en PDF, permettant aux développeurs de générer dynamiquement des documents PDF directement à partir de contenu HTML.

Quel type d'applications bénéficie de l'utilisation d'IronPDF pour la conversion HTML en PDF?

Les applications d'entreprise et SaaS bénéficient grandement de l'utilisation d'IronPDF pour la conversion HTML en PDF, car cela leur permet d'automatiser la création de documents professionnels tels que des rapports et des factures.

Comment IronPDF assure-t-il une sortie PDF de haute qualité à partir de HTML?

IronPDF assure une sortie PDF de haute qualité en utilisant des techniques de rendu avancées qui convertissent avec précision HTML, CSS et JavaScript en PDFs d'aspect professionnel.

Est-il possible de personnaliser l'apparence des PDFs générés à partir de HTML en utilisant IronPDF?

Oui, IronPDF permet une personnalisation extensive de l'apparence des PDFs générés à partir de HTML, y compris la mise en page, les polices et les styles, pour répondre à des exigences de conception spécifiques.

IronPDF peut-il convertir directement des pages web en PDF?

IronPDF peut convertir directement des pages web en PDF, permettant aux développeurs de transformer facilement du contenu web en direct en documents PDF statiques et partageables.

IronPDF prend-il en charge l'intégration de graphiques et d'images dans les documents PDF?

IronPDF prend en charge l'intégration de graphiques et d'images, garantissant que les documents PDF convertis conservent les éléments visuels du contenu HTML original.

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