Wie man einen PDF-Bericht in C# für .NET mit IronPDF erstellt

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

Berichte aus strukturierten Daten wie SQL zu generieren, ist eine häufige Aufgabe in der .NET-Entwicklung. IronPDF kann als PDF-Reader in C# verwendet werden und hilft, SSIS-Berichte in ASP.NET C# in PDF zu visualisieren und zu exportieren.

IronPDF kann verwendet werden, um Momentaufnahmen von Daten als "Berichte" im PDF-Dateiformat darzustellen. Es funktioniert auch als PDF C# Parser.

Schnellstart: PDF-Berichte mit IronPDF erstellen

Beginnen Sie mit der Erstellung von PDF-Berichten mit IronPDF in nur wenigen Codezeilen. Dieser schnelle Leitfaden ermöglicht es Entwicklern, HTML-Inhalte sofort in professionelle PDF-Dokumente umzuwandeln, wobei alle Formatierungen mühelos erhalten bleiben. Folgen Sie dem untenstehenden Beispiel, um zu sehen, wie einfach es ist, Ihre Daten in einen gut gestalteten PDF-Bericht zu verwandeln.

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">

Minimaler Arbeitsablauf (5 Schritte)

  1. Laden Sie die IronPDF C# PDF-Berichtsbibliothek herunter und installieren Sie sie
  2. Erstellen Sie den Bericht als HTML-Dokument und rendern Sie dann das HTML als PDF
  3. Exportieren Sie nach HTML mit: Datei -> Exportieren und wählen Sie HTML 4.0
  4. Gestalten Sie einen XML-Bericht, das XML kann geparst werden und dann HTML mit den Daten generiert werden
  5. Stellen Sie sicher, dass ein PDF-Bericht nicht verändert oder manipuliert wurde; es kann digital signiert sein

class="tutorial-segment-title">Schritt 1

1. Installieren Sie IronPDF

Mit NuGet: IronPdf auf NuGet

Install-Package IronPdf

Sie können auch die IronPDF DLL manuell herunterladen.


class="tutorial-segment-title">Wie man ein Tutorial erstellt

2. Methodik zur Erstellung eines PDF-Berichts

Die grundlegende Methodik besteht darin, zunächst den Bericht als HTML-Dokument zu erstellen und dann das HTML mit IronPDF als PDF zu rendern. Dieses Tutorial zeigt Ihnen die Schritte zur Erstellung eines PDF-Berichts in 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-Berichte zu PDF mit .NET

In der Crystal Reports-Anwendung können Sie nach HTML exportieren mit:

Datei -> Exportieren und wählen Sie HTML 4.0

Der resultierende Bericht kann dann mit dem obigen C#-Beispielcode im Methodikabschnitt als PDF exportiert werden.

Hier ist ein Beispiel:

: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-Berichte programmatisch zu PDF mit C#

Wenn Sie programmatisch mit einer Crystal-Berichtsdatei (RPT) arbeiten möchten, ist dies auch möglich und bietet Ihnen viel mehr Kontrolle.

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. XML-Berichte

Das Exportieren von Berichtsdaten als XML ist immer noch üblich, trotz der Verbreitung von leichter zu codierenden Formaten wie JSON.

Um einen XML-Bericht zu gestalten, kann das XML geparst werden, und HTML mit den Daten generiert werden.

Eine elegantere Lösung ist die Verwendung von XSLT, um XML direkt in HTML mithilfe der XslCompiledTransform-Klasse zu konvertieren, wie im Artikel Verwendung der XslCompiledTransform-Klasse dokumentiert.

Der resultierende HTML-String oder die Datei kann dann mit IronPDF als PDF gerendert werden:

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

Bitte besuchen Sie den Artikel XML in PDF konvertieren in C# und VB.NET, um mehr zu erfahren.

5. Microsoft SQL Server-Berichte

Microsofts SQL Server und der kostenlose SQL Server Express enthalten Berichtstools. Das Exportieren von SSRS-Berichten in ein PDF in ASP.NET kann eine nützliche Verwendung von IronPDF sein.

Tutorial: So lokalisieren und starten Sie die Berichtsdienste-Tools (SSRS)

Diese Berichte können als HTML generiert werden, das dann angepasst und mit IronPDF in das PDF-Format konvertiert wird.

In HTML rendern (Berichtseditor)

6. Berichtssicherheit

Um sicherzustellen, dass ein PDF-Bericht nicht verändert oder manipuliert wurde, kann er digital signiert werden. Dies wird am einfachsten auf einer PDF-Berichtsdatei erreicht, nachdem diese gerendert und auf die Festplatte gespeichert wurde.

: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

Wenn Sie keine digitale Signatur haben, können Sie eine neue digitale Signaturdatei mit dem kostenlosen Adobe Acrobat Reader unter macOS und Windows erstellen.

7. ASPX zu PDF mit ASP.NET Webforms

Der einfachste Weg, HTML-Inhalte in ASP.NET bereitzustellen, besteht darin, die IronPdf.AspxToPdf-Klasse im Form_Load-Ereignis einer ASP.NET-WebForms-Anwendung zu verwenden.

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

Wir hoffen, dass Ihnen dieser Artikel geholfen hat, zu lernen, wie Sie einen PDF-Bericht in ASP.NET C# oder VB.NET erstellen. Sie können auch unser vollständiges ASP.NET ASPX zu PDF Tutorial ansehen, um mehr zu erfahren.

Häufig gestellte Fragen

Wie kann ich PDF-Berichte in ASP.NET mit C# generieren?

Sie können PDF-Berichte in ASP.NET erstellen, indem Sie IronPDF verwenden, um HTML-Dokumente in PDF-Format zu konvertieren. Erstellen Sie zuerst Ihren Bericht als HTML-Dokument und verwenden Sie dann die Rendering-Funktionen von IronPDF, um ihn in ein PDF zu konvertieren.

Welche Schritte sollte ich befolgen, um IronPDF für die PDF-Erstellung in C# zu installieren?

Um IronPDF zu installieren, können Sie die NuGet Package Manager-Konsole mit dem Befehl Install-Package IronPdf verwenden oder die DLL von der offiziellen NuGet-Website herunterladen und manuell zu Ihrem Projekt hinzufügen.

Kann ich Crystal Reports in einer C#-Anwendung in PDFs umwandeln?

Ja, Sie können Crystal Reports in PDFs umwandeln, indem Sie sie zuerst als HTML exportieren und dann IronPDF verwenden, um die HTML-Dateien in das PDF-Format zu rendern.

Wie sichere ich meine in C# generierten PDF-Berichte?

Sie können Ihre PDF-Berichte sichern, indem Sie sie mit IronPDF digital signieren. Dies stellt sicher, dass das PDF nach seiner Erstellung und Speicherung nicht verändert wurde.

Ist es möglich, JavaScript zu handhaben, wenn HTML in C# in PDF konvertiert wird?

IronPDF kann JavaScript-Inhalte beim Rendern von HTML zu PDF verarbeiten. Diese Funktion kann je nach den Anforderungen Ihres Projekts aktiviert oder deaktiviert werden.

Wie kann ich SQL Server-Berichte mit C# in PDF umwandeln?

Sie können SQL Server-Berichte in HTML exportieren und dann IronPDF verwenden, um diese HTML-Dateien in PDFs zu konvertieren, wobei die Berichte ihr Format und Layout beibehalten.

Was ist der Vorteil der Verwendung von HTML für die PDF-Berichterstellung?

Die Verwendung von HTML ermöglicht detaillierte Gestaltung und Formatierung, die IronPDF genau in PDF-Format konvertieren kann, um die visuelle Integrität des Berichts zu gewährleisten.

Kann ich XML-Berichte mithilfe von IronPDF in C# in PDFs umwandeln?

Ja, Sie können XML-Berichte in PDFs umwandeln, indem Sie XSLT verwenden, um das XML in HTML zu transformieren, das dann mithilfe von IronPDF als PDF gerendert werden kann.

Wie rendere ich eine ASPX-Seite zu PDF in einer ASP.NET WebForms-Anwendung?

In einer ASP.NET WebForms-Anwendung können Sie IronPdf.AspxToPdf im Form_Load-Ereignis verwenden, um eine ASPX-Seite als PDF zu rendern.

Wo finde ich Ressourcen für die Verwendung von IronPDF in C#?

Sie können Tutorials und Ressourcen auf der IronPDF-Website finden, einschließlich Anleitungen zur Konvertierung von ASPX in PDF und zur Erstellung von Berichten aus verschiedenen Datenquellen.

.NET 10: Ist IronPDF vollständig mit .NET 10 kompatibel und welche Vorteile bietet das?

Ja, IronPDF ist vollständig mit .NET 10 kompatibel, ohne dass Workarounds oder veraltete APIs erforderlich sind. Die Verwendung von IronPDF in .NET 10-Projekten bietet Vorteile wie Leistungsverbesserungen, einen geringeren Speicherbedarf und eine nahtlose Integration über NuGet – und unterstützt moderne Anwendungsmodelle wie Web-, Desktop-, Container- und Serverumgebungen.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Nuget Downloads 16,154,058 | Version: 2025.11 gerade veröffentlicht