Générer des rapports PDF en ASP.NET avec C# ou VB
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.
Démarrage rapide : Générer des rapports PDF avec IronPDF
Commencez à générer des rapports PDF avec 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é.
-
Installez IronPDF avec le Gestionnaire de Packages NuGet
PM > Install-Package IronPdf -
Copiez et exécutez cet extrait de code.
// Instantiate ChromePdfRenderer for HTML to PDF conversion new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf"); -
Déployez pour tester sur votre environnement de production.
Commencez à utiliser IronPDF dans votre projet dès aujourd'hui avec un essai gratuit
Flux de travail minimal (5 étapes)
- Téléchargez et installez la bibliothèque de rapports PDF IronPDF C#
- Générer des rapports sous forme de documents HTML et les restituer sous forme de PDF
- Exporter Crystal Reports en utilisant : Fichier → Exportation → HTML 4.0
- Styliser des rapports XML en analysant le XML et en générant du HTML avec les données
- Signer numériquement les PDF pour s'assurer que les rapports n'ont pas été modifiés
Étape 1
Comment installer IronPDF?
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?
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");
Imports IronPdf
Private renderer As New ChromePdfRenderer()
renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf")
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?
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");
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")
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));
}
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
Imports System.IO
Imports IronPdf
Public Sub ExportRptToPdf(rptPath As String, pdfOutputPath As String)
' Load the Crystal Report
Dim rpt As New ReportDocument()
rpt.Load(rptPath)
' Configure export options for HTML output
Dim diskOpts As New DiskFileDestinationOptions() With {
.DiskFileName = "c:\tmp\html\b.html" ' Temporary HTML file
}
Dim exportOpts As ExportOptions = 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
Dim Renderer As 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))
End Sub
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 directement le XML 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 avec 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);
}
Imports System.IO
Imports System.Xml
Imports System.Xml.Xsl
Imports IronPdf
Public Shared Sub ConvertXmlToPdf(xml As String, xslt As String, pdfOutputPath As String)
' Initialize XSLT transformation
Dim transform As New XslCompiledTransform()
Using reader As XmlReader = XmlReader.Create(New StringReader(xslt))
transform.Load(reader) ' Load XSLT stylesheet
End Using
' Transform XML to HTML
Dim results As New StringWriter()
Using reader As XmlReader = XmlReader.Create(New StringReader(xml))
transform.Transform(reader, Nothing, results) ' Apply transformation
End Using
' Convert the generated HTML to PDF
Dim renderer As New ChromePdfRenderer()
renderer.RenderHtmlAsPdf(results.ToString()).SaveAs(pdfOutputPath)
End Sub
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 avec 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");
Imports IronPdf.Signing
' Sign our PDF Report using a p12 or pix digital certificate file
Call (New PdfSignature("IronSoftware.pfx", "123456")).SignPdfFile("signed.pdf")
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 dans ASP.NET est d'utiliser la classe IronPdf.AspxToPdf sur l'événement Form_Load d'une application WebForms ASP.NET . 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>;
}
Imports IronPdf
Public Module PdfRenderer
Public Sub RenderAspxToPdf()
' Configure PDF rendering options
Dim AspxToPdfOptions As New ChromePdfRenderOptions() With {
.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
AspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Report.pdf", AspxToPdfOptions)
End Sub
End Module
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 Package Manager 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.

