Comment créer un rapport PDF en C# pour .NET en utilisant IronPDF

Générer des rapports PDF en ASP.NET avec C# ; ou VB

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF permet aux développeurs .NET de générer des rapports PDF à partir de données HTML, Crystal Reports, XML et SQL Server en rendant le contenu HTML sous forme de documents PDF. Cette bibliothèque C# simplifie la création de rapports dans les applications ASP.NET avec seulement quelques lignes de code, en préservant tout le formatage et le style.

<TODO : Ajouter une image ici -->

Démarrage rapide : Générer des rapports PDF avec IronPDF

Commencez à générer des rapports PDF en utilisant IronPDF en quelques lignes de code seulement. Ce guide rapide permet aux développeurs de convertir instantanément du contenu HTML en documents PDF professionnels, en préservant tout le formatage sans effort. Suivez l'exemple ci-dessous pour voir à quel point il est simple de transformer vos données en un rapport PDF soigné.

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.

    // Instantiate ChromePdfRenderer for HTML to PDF conversion
    new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("report.html").SaveAs("report.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

Étape 1

Comment installer IronPDF?

IronPDF sur NuGet

Install-Package IronPdf

Vous pouvez également télécharger la DLL IronPDF manuellement. Pour les scénarios d'installation avancés, consultez notre guide complet Guide des packages NuGet qui couvre la configuration pour les plateformes Azure, AWS, Linux, Mac et Windows. Si vous travaillez avec des applications conteneurisées, notre guide d'intégration de Docker fournit des instructions de configuration détaillées.


Didacticiel de prise en main

Quelle est la méthodologie de création d'un rapport PDF?

<TODO : Ajouter une image ici -->

Générez d'abord le rapport en tant que document HTML, puis rendez le HTML en tant que PDF à l'aide d'IronPDF. Ce tutoriel vous montre les étapes à suivre pour créer un rapport PDF en ASP.NET C#. Le moteur de rendu Chrome d'IronPDF garantit une conversion parfaite au pixel près tout en prenant en charge les technologies modernes HTML5, CSS3 et JavaScript.

:path=/static-assets/pdf/content-code-examples/how-to/csharp-pdf-reports-render-html-file.cs
using IronPdf;

ChromePdfRenderer renderer = new ChromePdfRenderer();

renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf");
$vbLabelText   $csharpLabel

Pour des besoins de rapports plus complexes, explorez notre tutoriel complet de création de PDF qui couvre les filigranes, la compression, les arrière-plans, les en-têtes, les pieds de page, les formulaires et la protection par mot de passe.

Comment convertir Crystal Reports en PDF avec .NET?

<TODO : Ajouter une image ici -->

Exporter des rapports Crystal au format HTML à l'aide de :

Fichier → Exportation → HTML 4.0

Le rapport résultant peut ensuite être exporté en PDF en utilisant le code C# d'exemple ci-dessus dans la section Méthodologie. IronPDF offre une excellente prise en charge pour convertir des fichiers HTML en PDF, en conservant l'ensemble du formatage et des styles de votre sortie Crystal Reports.

Voici un exemple :

:path=/static-assets/pdf/content-code-examples/how-to/csharp-pdf-reports-render-header-footer.cs
using IronPdf;
using IronSoftware.Drawing;

ChromePdfRenderer renderer = new ChromePdfRenderer();

// Add a header to very page easily
renderer.RenderingOptions.FirstPageNumber = 1;
renderer.RenderingOptions.TextHeader.DrawDividerLine = true;
renderer.RenderingOptions.TextHeader.CenterText = "{url}";
renderer.RenderingOptions.TextHeader.Font = FontTypes.Arial;
renderer.RenderingOptions.TextHeader.FontSize = 12;

// Add a footer too
renderer.RenderingOptions.TextFooter.DrawDividerLine = true;
renderer.RenderingOptions.TextFooter.Font = FontTypes.Arial;
renderer.RenderingOptions.TextFooter.FontSize = 10;
renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";

renderer.RenderHtmlFileAsPdf(@"c:\my\exported\report.html").SaveAs("report.pdf");
$vbLabelText   $csharpLabel

Pour une personnalisation avancée des en-têtes et des pieds de page, y compris les en-têtes basés sur HTML, consultez notre guide sur les en-têtes et les pieds de page.

Comment convertir Crystal Reports en PDF de manière programmatique?

Si vous souhaitez travailler par programmation pour créer un PDF à partir d'un fichier Crystal Reports (RPT), c'est également possible et vous donne beaucoup plus de contrôle. Cette approche s'intègre parfaitement aux options de rendu d'IronPDF pour une personnalisation complète.

using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System.IO;
using IronPdf;

public static void ExportRptToPdf(string rptPath, string pdfOutputPath)
{
    // Load the Crystal Report
    ReportDocument rpt = new ReportDocument();
    rpt.Load(rptPath);

    // Configure export options for HTML output
    DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions()
    {
        DiskFileName = @"c:\tmp\html\b.html" // Temporary HTML file
    };

    ExportOptions exportOpts = ExportOptions.CreateExportOptions();
    exportOpts.ExportDestinationType = ExportDestinationType.DiskFile;
    exportOpts.ExportFormatType = ExportFormatType.HTML40; // Export as HTML 4.0
    exportOpts.ExportDestinationOptions = diskOpts;

    // Export report to HTML
    rpt.Export();

    // Convert HTML to PDF using IronPDF
    var Renderer = new ChromePdfRenderer();
    // Add dynamic header with URL
    Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
    // Add footer with timestamp and page numbers
    Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
    Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";

    // Render the HTML file to PDF and save
    Renderer.RenderFileAsPdf(diskOpts.DiskFileName).SaveAs(pdfOutputPath);

    Console.WriteLine("Report Written To {0}", Path.GetFullPath(pdfOutputPath));
}
using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using System.IO;
using IronPdf;

public static void ExportRptToPdf(string rptPath, string pdfOutputPath)
{
    // Load the Crystal Report
    ReportDocument rpt = new ReportDocument();
    rpt.Load(rptPath);

    // Configure export options for HTML output
    DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions()
    {
        DiskFileName = @"c:\tmp\html\b.html" // Temporary HTML file
    };

    ExportOptions exportOpts = ExportOptions.CreateExportOptions();
    exportOpts.ExportDestinationType = ExportDestinationType.DiskFile;
    exportOpts.ExportFormatType = ExportFormatType.HTML40; // Export as HTML 4.0
    exportOpts.ExportDestinationOptions = diskOpts;

    // Export report to HTML
    rpt.Export();

    // Convert HTML to PDF using IronPDF
    var Renderer = new ChromePdfRenderer();
    // Add dynamic header with URL
    Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
    // Add footer with timestamp and page numbers
    Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
    Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";

    // Render the HTML file to PDF and save
    Renderer.RenderFileAsPdf(diskOpts.DiskFileName).SaveAs(pdfOutputPath);

    Console.WriteLine("Report Written To {0}", Path.GetFullPath(pdfOutputPath));
}
$vbLabelText   $csharpLabel

Comment générer des rapports PDF à partir de XML?

L'exportation de données de rapport au format XML est encore courante malgré la prévalence de formats plus faciles à coder tels que JSON. IronPDF offre une excellente prise en charge de la conversion XML vers PDF, en proposant plusieurs approches pour traiter les données XML.

Pour styliser des rapports XML, analyser le XML et générer du HTML avec les données.

Une solution plus élégante consiste à utiliser XSLT pour convertir XML directement en HTML à l'aide de la classe XslCompiledTransform, comme indiqué dans l'article Using the XslCompiledTransform Class.

La chaîne ou le fichier HTML résultant peut ensuite être rendu en tant que PDF en utilisant IronPDF :

using System.IO;
using System.Xml;
using System.Xml.Xsl;
using IronPdf;

public static void ConvertXmlToPdf(string xml, string xslt, string pdfOutputPath)
{
    // Initialize XSLT transformation
    XslCompiledTransform transform = new XslCompiledTransform();
    using (XmlReader reader = XmlReader.Create(new StringReader(xslt)))
    {
        transform.Load(reader); // Load XSLT stylesheet
    }

    // Transform XML to HTML
    StringWriter results = new StringWriter();
    using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
    {
        transform.Transform(reader, null, results); // Apply transformation
    }

    // Convert the generated HTML to PDF
    ChromePdfRenderer renderer = new ChromePdfRenderer();
    renderer.RenderHtmlAsPdf(results.ToString()).SaveAs(pdfOutputPath);
}
using System.IO;
using System.Xml;
using System.Xml.Xsl;
using IronPdf;

public static void ConvertXmlToPdf(string xml, string xslt, string pdfOutputPath)
{
    // Initialize XSLT transformation
    XslCompiledTransform transform = new XslCompiledTransform();
    using (XmlReader reader = XmlReader.Create(new StringReader(xslt)))
    {
        transform.Load(reader); // Load XSLT stylesheet
    }

    // Transform XML to HTML
    StringWriter results = new StringWriter();
    using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
    {
        transform.Transform(reader, null, results); // Apply transformation
    }

    // Convert the generated HTML to PDF
    ChromePdfRenderer renderer = new ChromePdfRenderer();
    renderer.RenderHtmlAsPdf(results.ToString()).SaveAs(pdfOutputPath);
}
$vbLabelText   $csharpLabel

Veuillez consulter l'article Convertir XML en PDF en C# et VB.NET pour en savoir plus sur les techniques de transformation XML avancées et les meilleures pratiques.

Comment exporter des rapports SQL Server au format PDF?

Microsoft SQL Server et le SQL Server Express gratuit contiennent des outils de reporting. L'exportation de rapports SSRS en PDF dans ASP.NET peut être une utilisation utile d'IronPDF. Pour les besoins de visualisation de données complexes, IronPDF prend en charge l'affichage de graphiques JavaScript, y compris les bibliothèques populaires telles que C3.js, D3.js et Highcharts.

Tutoriel : Comment localiser et démarrer les outils de Services de reporting (SSRS)

Ces rapports peuvent être générés en HTML, qui peuvent ensuite être personnalisés et convertis en format PDF en utilisant IronPDF. La fonction de conversion chaîne HTML en PDF d'IronPDF permet un contrôle total sur le résultat final.

Rendre en HTML (Report Builder)

Pour les environnements d'entreprise nécessitant un accès sécurisé aux données, IronPDF prend en charge les connexions au site web et au système TLS pour gérer la génération de rapports authentifiés.

Comment sécuriser les rapports PDF?

Pour vous assurer qu'un rapport PDF n'a pas été modifié ou altéré, apposez-y une signature numérique. Cela est le plus facilement réalisé sur un fichier de rapport PDF après qu'il a été rendu et enregistré sur disque. IronPDF offre des capacités complètes de signature de PDF, y compris la prise en charge des Modules de sécurité matériels (HSM).

:path=/static-assets/pdf/content-code-examples/how-to/csharp-pdf-reports-sign-pdf.cs
using IronPdf.Signing;

// Sign our PDF Report using a p12 or pix digital certificate file
new PdfSignature("IronSoftware.pfx", "123456").SignPdfFile("signed.pdf");
$vbLabelText   $csharpLabel

Si vous ne disposez pas d'une signature numérique, vous pouvez créer un nouveau fichier de signature numérique en utilisant le logiciel gratuit Adobe Acrobat Reader sur macOS et Windows. Pour des mesures de sécurité supplémentaires, explorez notre Guide des autorisations et mots de passe pour les PDF pour contrôler l'accès aux documents et les droits d'édition.

Comment convertir ASPX en PDF avec ASP.NET Webforms?

La manière la plus simple de servir du contenu HTML en ASP.NET est d'utiliser la classe IronPdf.AspxToPdf sur l'événement Form_Load d'une application ASP.NET WebForms. Cette fonction puissante vous permet de convertir des pages ASPX entières, y compris les contrôles côté serveur et le contenu dynamique, directement au format PDF.

using IronPdf;

public static void RenderAspxToPdf()
{
    // Configure PDF rendering options
    var AspxToPdfOptions = new ChromePdfRenderOptions()
    {
        EnableJavaScript = false, // Disable JavaScript for simpler reports
        PrintHtmlBackgrounds = true, // Include background colors and images
        MarginTop = 20, // Set top margin in mm
        MarginBottom = 20, // Set bottom margin in mm
        PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait,
        PaperSize = IronPdf.Rendering.PdfPaperSize.A4
        // ...many more options available
    };

    // Render the HTML page to PDF and prompt download
    <code>AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Report.pdf", AspxToPdfOptions)</code>;
}
using IronPdf;

public static void RenderAspxToPdf()
{
    // Configure PDF rendering options
    var AspxToPdfOptions = new ChromePdfRenderOptions()
    {
        EnableJavaScript = false, // Disable JavaScript for simpler reports
        PrintHtmlBackgrounds = true, // Include background colors and images
        MarginTop = 20, // Set top margin in mm
        MarginBottom = 20, // Set bottom margin in mm
        PaperOrientation = IronPdf.Rendering.PdfPaperOrientation.Portrait,
        PaperSize = IronPdf.Rendering.PdfPaperSize.A4
        // ...many more options available
    };

    // Render the HTML page to PDF and prompt download
    <code>AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Report.pdf", AspxToPdfOptions)</code>;
}
$vbLabelText   $csharpLabel

Nous espérons que cet article vous a aidé à apprendre comment générer un rapport PDF dans ASP.NET C# ou VB.NET. Vous pouvez également consulter notre Tutoriel ASPX vers PDF pour en savoir plus sur les scénarios avancés, notamment les paramètres de conversion des pages ASPX en PDF et la gestion des mises en page complexes.

Questions Fréquemment Posées

Comment générer des rapports PDF à partir de HTML en C# ?

IronPDF vous permet de générer des rapports PDF à partir de HTML avec une seule ligne de code : new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf"). Cela permet de préserver tous les formats et styles HTML dans le document PDF final.

Quels types de rapports peuvent être convertis en PDF ?

IronPDF prend en charge la conversion de plusieurs types de rapports au format PDF, notamment les rapports HTML, les rapports Crystal (exportés au format HTML 4.0), les rapports XML (stylisés avec HTML) et les rapports de données SQL Server. La bibliothèque utilise un moteur de rendu Chrome pour garantir une conversion au pixel près.

Comment installer la bibliothèque du générateur de rapports PDF ?

Vous pouvez installer IronPDF via le gestionnaire de paquets NuGet à l'aide de la commande " Install-Package IronPdf ", ou télécharger la DLL manuellement. La bibliothèque prend en charge diverses plateformes, notamment Azure, AWS, Linux, Mac, Windows et les conteneurs Docker.

Puis-je convertir Crystal Reports en PDF avec .NET ?

Oui, vous pouvez convertir des rapports Crystal en PDF à l'aide d'IronPDF en exportant d'abord le rapport Crystal au format HTML 4.0 (Fichier → Exporter → HTML 4.0), puis en utilisant la méthode RenderHtmlFileAsPdf d'IronPDF pour convertir la sortie HTML en un document PDF.

Comment créer des rapports PDF à partir de données SQL Server ?

Pour créer des rapports PDF à partir de données SQL Server, générez d'abord un rapport HTML avec vos données, puis utilisez IronPDF's ChromePdfRenderer pour convertir le HTML en PDF. La bibliothèque préserve tout le formatage, ce qui la rend idéale pour les rapports basés sur des bases de données.

Puis-je signer numériquement des rapports PDF ?

Oui, IronPDF vous permet de signer numériquement des rapports PDF afin de garantir qu'ils n'ont pas été modifiés. Cette fonction ajoute une couche supplémentaire de sécurité et d'authenticité à vos documents PDF générés.

La bibliothèque prend-elle en charge les normes web modernes ?

Le moteur de rendu Chrome d'IronPDF prend entièrement en charge les technologies modernes HTML5, CSS3 et JavaScript, ce qui garantit un rendu précis de vos rapports, avec tous les éléments interactifs et de style web contemporains préservés dans la sortie PDF.

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
Prêt à commencer?
Nuget Téléchargements 17,012,929 | Version : 2025.12 vient de sortir