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

Generate PDF Reports in ASP.NET with C# or VB

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

Générer des rapports de gestion ou de base de données à partir de données structurées telles que SQL est une tâche de développement .NET courante. IronPDF peut être utilisé comme lecteur PDF en C# et aide à visualiser et exporter les rapports SSIS en PDF dans ASP.NET C#.

IronPDF peut être utilisé pour rendre des instantanés de données sous forme de « rapports » au format de fichier PDF. Il fonctionne également comme un parseur PDF C#.

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 IconGet started making PDFs with NuGet now:

  1. Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. Copy and run this code snippet.

    new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf");
  3. Deploy to test on your live environment

    Start using IronPDF in your project today with a free trial
    arrow pointer
class="hsg-featured-snippet">

Flux de travail minimal (5 étapes)

  1. Télécharger et installer la bibliothèque de rapports PDF C# IronPDF
  2. Générer le rapport en tant que document HTML puis rendre le HTML en tant que PDF
  3. Exporter en HTML en utilisant : Fichier -> Exporter et sélectionner HTML 4.0
  4. Styliser un rapport XML, le XML peut être analysé puis le HTML généré avec les données
  5. S'assurer qu'un rapport PDF n'a pas été modifié ou altéré ; il peut être signé numériquement

class="tutorial-segment-title">Étape 1

1. Installer IronPDF

À l'aide de NuGet : IronPdf sur NuGet

Install-Package IronPdf

Vous pouvez également télécharger la DLL IronPDF manuellement.


class="tutorial-segment-title">Comment faire un tutoriel

2. Méthodologie pour la création d'un rapport PDF

La méthodologie de base consiste d'abord à générer le rapport en tant que document HTML puis rendre le HTML en tant que PDF en utilisant IronPDF. Ce tutoriel vous montrera les étapes pour créer un rapport PDF dans ASP.NET C#.

: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");
Imports IronPdf

Private renderer As New ChromePdfRenderer()

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

3. Crystal Reports en PDF avec .NET

Dans l'application Crystal Reports, vous pouvez exporter en HTML en utilisant :

Fichier -> Exporter et sélectionner 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.

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");
Imports IronPdf
Imports IronSoftware.Drawing

Private renderer As 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

3.1 Crystal Reports en PDF par programmation avec C#

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.

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

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

    // Set export options
    DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions()
    {
        DiskFileName = @"c:\tmp\html\b.html"
    };

    ExportOptions exportOpts = ExportOptions.CreateExportOptions();
    exportOpts.ExportDestinationType = ExportDestinationType.DiskFile;
    exportOpts.ExportFormatType = ExportFormatType.HTML40;
    exportOpts.ExportDestinationOptions = diskOpts;

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

    // Convert HTML to PDF
    var Renderer = new ChromePdfRenderer();
    Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
    Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
    Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";

    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)
{
    ReportDocument rpt = new ReportDocument();
    rpt.Load(rptPath);

    // Set export options
    DiskFileDestinationOptions diskOpts = new DiskFileDestinationOptions()
    {
        DiskFileName = @"c:\tmp\html\b.html"
    };

    ExportOptions exportOpts = ExportOptions.CreateExportOptions();
    exportOpts.ExportDestinationType = ExportDestinationType.DiskFile;
    exportOpts.ExportFormatType = ExportFormatType.HTML40;
    exportOpts.ExportDestinationOptions = diskOpts;

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

    // Convert HTML to PDF
    var Renderer = new ChromePdfRenderer();
    Renderer.RenderingOptions.TextHeader.CenterText = "{url}";
    Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";
    Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}";

    Renderer.RenderFileAsPdf(diskOpts.DiskFileName).SaveAs(pdfOutputPath);

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

Public Shared Sub ExportRptToPdf(ByVal rptPath As String, ByVal pdfOutputPath As String)
	Dim rpt As New ReportDocument()
	rpt.Load(rptPath)

	' Set export options
	Dim diskOpts As New DiskFileDestinationOptions() With {.DiskFileName = "c:\tmp\html\b.html"}

	Dim exportOpts As ExportOptions = ExportOptions.CreateExportOptions()
	exportOpts.ExportDestinationType = ExportDestinationType.DiskFile
	exportOpts.ExportFormatType = ExportFormatType.HTML40
	exportOpts.ExportDestinationOptions = diskOpts

	' Export report to HTML
	rpt.Export()

	' Convert HTML to PDF
	Dim Renderer = New ChromePdfRenderer()
	Renderer.RenderingOptions.TextHeader.CenterText = "{url}"
	Renderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"
	Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"

	Renderer.RenderFileAsPdf(diskOpts.DiskFileName).SaveAs(pdfOutputPath)

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

4. Rapports XML

L'exportation de données de rapport en XML est toujours courante malgré la prévalence de formats plus faciles à coder tels que JSON.

Pour styliser un rapport XML, le XML peut être analysé, et le HTML généré avec les données.

Une solution plus élégante consiste à utiliser XSLT pour convertir XML directement en HTML en utilisant la classe XslCompiledTransform comme documenté dans l'article Utilisation de la classe XslCompiledTransform.

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)
{
    XslCompiledTransform transform = new XslCompiledTransform();
    using (XmlReader reader = XmlReader.Create(new StringReader(xslt)))
    {
        transform.Load(reader);
    }

    StringWriter results = new StringWriter();
    using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
    {
        transform.Transform(reader, null, results);
    }

    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)
{
    XslCompiledTransform transform = new XslCompiledTransform();
    using (XmlReader reader = XmlReader.Create(new StringReader(xslt)))
    {
        transform.Load(reader);
    }

    StringWriter results = new StringWriter();
    using (XmlReader reader = XmlReader.Create(new StringReader(xml)))
    {
        transform.Transform(reader, null, results);
    }

    ChromePdfRenderer renderer = new ChromePdfRenderer();
    renderer.RenderHtmlAsPdf(results.ToString()).SaveAs(pdfOutputPath);
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports IronPdf

Public Shared Sub ConvertXmlToPdf(ByVal xml As String, ByVal xslt As String, ByVal pdfOutputPath As String)
	Dim transform As New XslCompiledTransform()
	Using reader As XmlReader = XmlReader.Create(New StringReader(xslt))
		transform.Load(reader)
	End Using

	Dim results As New StringWriter()
	Using reader As XmlReader = XmlReader.Create(New StringReader(xml))
		transform.Transform(reader, Nothing, results)
	End Using

	Dim renderer As New ChromePdfRenderer()
	renderer.RenderHtmlAsPdf(results.ToString()).SaveAs(pdfOutputPath)
End Sub
$vbLabelText   $csharpLabel

Veuillez visiter l'article Convertir XML en PDF en C# et VB.NET pour en savoir plus.

5. Rapports Microsoft SQL Server

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.

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.

Rendre en HTML (Report Builder)

6. Sécurité des rapports

Pour s'assurer qu'un rapport PDF n'a pas été modifié ou altéré, il peut être signé numériquement. Cela est le plus facilement réalisé sur un fichier de rapport PDF après qu'il a été rendu et enregistré sur disque.

: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");
Imports IronPdf.Signing

' Sign our PDF Report using a p12 or pix digital certificate file
Call (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.

7. ASPX en PDF avec ASP.NET Webforms

La façon la plus simple de servir du contenu HTML dans ASP.NET est d'utiliser la classe IronPdf.AspxToPdf sur l'événement Form_Load d'une application ASP.NET WebForms.

using IronPdf;

public static void RenderAspxToPdf()
{
    var AspxToPdfOptions = new ChromePdfRenderOptions()
    {
        EnableJavaScript = false, // Disable JavaScript for simplicity
        // ...many more options available
    };

    AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Report.pdf", AspxToPdfOptions);
}
using IronPdf;

public static void RenderAspxToPdf()
{
    var AspxToPdfOptions = new ChromePdfRenderOptions()
    {
        EnableJavaScript = false, // Disable JavaScript for simplicity
        // ...many more options available
    };

    AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Report.pdf", AspxToPdfOptions);
}
Imports IronPdf

Public Shared Sub RenderAspxToPdf()
	Dim AspxToPdfOptions = New ChromePdfRenderOptions() With {.EnableJavaScript = False}

	AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Report.pdf", AspxToPdfOptions)
End Sub
$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 ASP.NET ASPX en PDF complet pour en savoir plus.

Questions Fréquemment Posées

Comment puis-je générer des rapports PDF dans ASP.NET en utilisant C#?

Vous pouvez générer des rapports PDF dans ASP.NET en utilisant IronPDF pour convertir des documents HTML au format PDF. D'abord, créez votre rapport en tant que document HTML puis utilisez les capacités de rendu d'IronPDF pour le convertir en PDF.

Quelles étapes dois-je suivre pour installer IronPDF pour la génération de PDF en C#?

Pour installer IronPDF, vous pouvez utiliser la console du gestionnaire de packages NuGet avec la commande Install-Package IronPdf ou télécharger la DLL depuis le site officiel de NuGet et l'ajouter manuellement à votre projet.

Puis-je convertir des Crystal Reports en PDF dans une application C#?

Oui, vous pouvez convertir des Crystal Reports en PDF en les exportant d'abord sous forme de HTML puis en utilisant IronPDF pour rendre les fichiers HTML au format PDF.

Comment sécuriser mes rapports PDF générés en C#?

Vous pouvez sécuriser vos rapports PDF en les signant numériquement avec IronPDF. Cela garantit que le PDF n'a pas été modifié après avoir été créé et enregistré.

Est-il possible de gérer JavaScript lors de la conversion de HTML en PDF en C#?

IronPDF peut traiter le contenu JavaScript lors du rendu de HTML en PDF. Cette fonctionnalité peut être activée ou désactivée selon les besoins de votre projet.

Comment puis-je convertir des rapports SQL Server en PDF en utilisant C#?

Vous pouvez exporter des rapports SQL Server en HTML puis utiliser IronPDF pour convertir ces fichiers HTML en PDF, en assurant que les rapports conservent leur formatage et leur disposition.

Quel est l'avantage d'utiliser HTML pour la génération de rapports PDF?

Utiliser HTML permet pour un style et un formatage détaillés, qu'IronPDF peut convertir avec précision au format PDF, en veillant à ce que l'intégrité visuelle du rapport soit préservée.

Puis-je convertir des rapports XML en PDF en utilisant IronPDF en C#?

Oui, vous pouvez convertir des rapports XML en PDF en utilisant XSLT pour transformer le XML en HTML, qui peut ensuite être rendu sous forme de PDF en utilisant IronPDF.

Comment rendre une page ASPX en PDF dans une application ASP.NET WebForms?

Dans une application ASP.NET WebForms, vous pouvez utiliser IronPdf.AspxToPdf dans l'événement Form_Load pour rendre une page ASPX sous forme de PDF.

Où puis-je trouver des ressources pour utiliser IronPDF en C#?

Vous pouvez trouver des tutoriels et des ressources sur le site IronPDF, y compris des guides sur la conversion d'ASPX en PDF et la génération de rapports à partir de différentes sources de données.

.NET 10 : IronPDF est-il entièrement compatible avec .NET 10, et quels avantages cela apporte-t-il ?

Oui, IronPDF est entièrement compatible avec .NET 10 sans nécessiter de solutions de contournement ni d'API obsolètes. L'utilisation d'IronPDF sur les projets .NET 10 offre des avantages tels que des performances accrues, une empreinte mémoire réduite et une intégration transparente via NuGet, prenant en charge les modèles d'applications modernes comme les environnements web, de bureau, conteneurisés et serveur.

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 16,154,058 | Version : 2025.11 vient de sortir