Generowanie raportów PDF w ASP.NET za pomocą języka C# lub VB
IronPDF umożliwia programistom .NET generowanie raportów PDF na podstawie danych HTML, Crystal Reports, XML i SQL Server poprzez renderowanie treści HTML jako dokumentów PDF. Ta biblioteka C# upraszcza tworzenie raportów w aplikacjach ASP.NET za pomocą zaledwie kilku wierszy kodu, zachowując całe formatowanie i styl.
Szybki start: Generowanie raportów PDF za pomocą IronPDF
Zacznij generować raporty PDF za pomocą IronPDF za pomocą zaledwie kilku wierszy kodu. Ten krótki przewodnik umożliwia programistom natychmiastowe konwertowanie treści HTML na profesjonalne dokumenty PDF, zachowując bez wysiłku całe formatowanie. Skorzystaj z poniższego przykładu, aby przekonać się, jak łatwo przekształcić dane w profesjonalny raport w formacie PDF.
-
Install IronPDF with NuGet Package Manager
PM > Install-Package IronPdf -
Skopiuj i uruchom ten fragment kodu.
// Instantiate ChromePdfRenderer for HTML to PDF conversion new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf"); -
Wdrożenie do testowania w środowisku produkcyjnym
Rozpocznij używanie IronPDF w swoim projekcie już dziś z darmową wersją próbną
Minimalny proces (5 kroków)
- Pobierz i zainstaluj bibliotekę IronPDF C# PDF Report Library
- Generuj raporty jako dokumenty HTML i renderuj je jako pliki PDF
- Eksportuj raporty Crystal Reports, korzystając z: Plik → Eksportuj → HTML 4.0
- Formatowanie raportów XML poprzez parsowanie XML i generowanie HTML z danymi
- Podpisuj cyfrowo pliki PDF, aby mieć pewność, że raporty nie zostały sfałszowane
Krok 1
Jak zainstalować IronPDF?
Install-Package IronPdf
Można również ręcznie pobrać bibliotekę DLL IronPDF. W przypadku zaawansowanych scenariuszy instalacji zapoznaj się z naszym obszernym przewodnikiem po pakietach NuGet, który obejmuje konfigurację dla platform Azure, AWS, Linux, Mac i Windows. Jeśli pracujesz z aplikacjami kontenerowymi, nasz przewodnik po integracji z Dockerem zawiera szczegółowe instrukcje konfiguracji.
Poradnik "Jak to zrobić"
Jaka jest metodologia tworzenia raportu w formacie PDF?
Najpierw wygeneruj raport jako dokument HTML, a następnie przekonwertuj HTML na PDF za pomocą IronPDF. Ten samouczek pokazuje kroki tworzenia raportu PDF w ASP.NET C#. Silnik renderujący IronPDF dla przeglądarki Chrome zapewnia konwersję z idealną dokładnością pikselową, obsługując jednocześnie nowoczesne standardy HTML5, CSS3 i 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")
W przypadku bardziej złożonych potrzeb związanych z raportowaniem zapoznaj się z naszym obszernym samouczkiem dotyczącym tworzenia plików PDF, który obejmuje znaki wodne, kompresję, tła, nagłówki, stopki, formularze i ochronę hasłem.
Jak przekonwertować Crystal Reports do formatu PDF za pomocą .NET?
Eksportuj raporty Crystal Reports do formatu HTML za pomocą:
Plik → Eksportuj → HTML 4.0
Gotowy raport można następnie wyeksportować do formatu PDF, korzystając z powyższego przykładowego kodu w języku C#, zamieszczonego w sekcji "Metodologia". IronPDF zapewnia doskonałą obsługę konwersji plików HTML do formatu PDF, zachowując całe formatowanie i style z plików wyjściowych Crystal Reports.
Oto przykład:
: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")
Aby uzyskać informacje na temat zaawansowanego dostosowywania nagłówków i stopek, w tym nagłówków opartych na HTML, zapoznaj się z naszym przewodnikiem dotyczącym nagłówków i stopek.
Jak mogę programowo przekonwertować Crystal Reports do formatu PDF?
Jeśli chcesz programowo utworzyć plik PDF z pliku Crystal Reports (RPT), jest to również możliwe i zapewnia znacznie większą kontrolę. Takie podejście płynnie integruje się z opcjami renderowania IronPDF, umożliwiając pełną personalizację.
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
Jak generować raporty PDF z plików XML?
Eksportowanie danych raportów w formacie XML jest nadal powszechne, pomimo popularności formatów łatwiejszych do kodowania, takich jak JSON. IronPDF oferuje doskonałą obsługę konwersji XML do PDF, zapewniając wiele metod przetwarzania danych XML.
Aby sformatować raporty XML, należy przeanalizować XML i wygenerować kod HTML z danymi.
Bardziej eleganckim rozwiązaniem jest użycie XSLT do bezpośredniej konwersji XML na HTML przy użyciu klasy XslCompiledTransform, zgodnie z opisem w artykule Korzystanie z klasy XslCompiledTransform.
Powstały ciąg znaków lub plik HTML można następnie przekształcić w plik PDF za pomocą 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
Zapraszamy do zapoznania się z artykułem "Konwersja XML do PDF w C# i VB.NET", aby dowiedzieć się więcej o zaawansowanych technikach transformacji XML i najlepszych praktykach.
Jak wyeksportować raporty SQL Server do formatu PDF?
SQL Server firmy Microsoft oraz bezpłatny SQL Server Express zawierają narzędzia do tworzenia raportów. Eksportowanie raportów SSRS do formatu PDF w ASP.NET może być przydatnym zastosowaniem IronPDF. W przypadku złożonych potrzeb związanych z wizualizacją danych IronPDF obsługuje renderowanie wykresów JavaScript, w tym popularnych bibliotek, takich jak C3.js, D3.js i Highcharts.
Samouczek: Jak znaleźć i uruchomić narzędzia Reporting Services (SSRS)
Raporty te mogą być generowane w formacie HTML, a następnie dostosowywane i konwertowane do formatu PDF za pomocą IronPDF. Funkcja konwersji ciągów HTML do formatu PDF w IronPDF zapewnia pełną kontrolę nad ostatecznym wynikiem.
Renderowanie do HTML (Report Builder)
W środowiskach Enterprise wymagających bezpiecznego dostępu do danych IronPDF obsługuje logowanie do stron internetowych i systemów za pomocą protokołu TLS, umożliwiając generowanie raportów po uwierzytelnieniu.
Jak zabezpieczyć raporty PDF?
Aby upewnić się, że raport PDF nie został zmodyfikowany ani sfałszowany, należy go podpisać cyfrowo. Najłatwiej jest to osiągnąć w przypadku pliku raportu PDF po jego wyrenderowaniu i zapisaniu na dysku. IronPDF zapewnia kompleksowe możliwości podpisywania plików PDF, w tym obsługę modułów bezpieczeństwa sprzętowego (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")
Jeśli nie posiadasz podpisu cyfrowego, możesz utworzyć nowy plik podpisu cyfrowego za pomocą bezpłatnego programu Adobe Acrobat Reader na systemach macOS i Windows. Aby uzyskać dodatkowe środki bezpieczeństwa, zapoznaj się z naszym przewodnikiem dotyczącym uprawnień i haseł do plików PDF, aby kontrolować dostęp do dokumentów i prawa do edycji.
Jak przekonwertować plik ASPX na PDF za pomocą ASP.NET Webforms?
Najprostszym sposobem na udostępnienie treści HTML w ASP.NET jest użycie klasy IronPdf.AspxToPdf w zdarzeniu Form_Load aplikacji ASP.NET WebForms. Ta potężna funkcja pozwala na konwersję całych stron ASPX, w tym elementów sterujących po stronie serwera i treści dynamicznej, bezpośrednio do formatu 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
Mamy nadzieję, że ten artykuł pomógł Ci w nauce generowania raportów PDF w ASP.NET C# lub VB.NET. Możesz również zapoznać się z naszym pełnym samouczkiem dotyczącym konwersji plików ASP.NET ASPX do formatu PDF, aby dowiedzieć się więcej o zaawansowanych scenariuszach, w tym o ustawieniach konwersji stron ASPX do formatu PDF oraz obsłudze złożonych układów.
Często Zadawane Pytania
Jak generować raporty PDF z HTML w C#?
IronPDF umożliwia generowanie raportów PDF z HTML za pomocą jednej linii kodu: new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf"). To zachowuje całe formatowanie i stylizację HTML w końcowym dokumencie PDF.
Jakie typy raportów można przekształcić na PDF?
IronPDF obsługuje przekształcanie wielu typów raportów na PDF, w tym raporty HTML, Crystal Reports (eksportowane jako HTML 4.0), raporty XML (stylizowane z HTML) oraz raporty danych SQL Server. Biblioteka używa silnika renderowania Chrome, aby zapewnić konwersję zgodną z dokładnością pikselową.
Jak zainstalować bibliotekę generatora raportów PDF?
Możesz zainstalować IronPDF za pomocą Menedżera Pakietów NuGet, używając polecenia 'Install-Package IronPdf', lub pobrać plik DLL ręcznie. Biblioteka obsługuje różne platformy, w tym Azure, AWS, Linux, Mac, Windows i kontenery Docker.
Czy mogę przekształcić Crystal Reports na PDF w .NET?
Tak, możesz przekształcić Crystal Reports na PDF używając IronPDF, najpierw eksportując raport Crystal do formatu HTML 4.0 (Plik → Eksportuj → HTML 4.0), następnie używając metody RenderHtmlFileAsPdf IronPDF do przekształcenia wyjścia HTML w dokument PDF.
Jak utworzyć raporty PDF z danych SQL Server?
Aby utworzyć raporty PDF z danych SQL Server, najpierw wygeneruj raport HTML z danymi, a następnie użyj ChromePdfRenderer IronPDF, aby przekształcić HTML w PDF. Biblioteka zachowuje całe formatowanie, co czyni ją idealną dla raportów opartych na danych.
Czy mogę cyfrowo podpisywać raporty PDF?
Tak, IronPDF pozwala na cyfrowe podpisywanie raportów PDF, aby zapewnić, że nie zostały zmienione. Ta funkcja dodaje dodatkową warstwę bezpieczeństwa i autentyczności do generowanych dokumentów PDF.
Czy biblioteka obsługuje nowoczesne standardy webowe?
Silnik renderowania Chrome IronPDF w pełni obsługuje nowoczesne standardy HTML5, CSS3 oraz JavaScript, zapewniając, że raporty są renderowane dokładnie ze wszystkimi współczesnymi stylizacjami webowymi i elementami interaktywnymi zachowanymi w wyjściu PDF.

