# 在 ASP.NET 中使用 C## 或 VB 生成 PDF 报告
IronPDF for .NET 通过将 HTML 内容渲染为 PDF 文档,使 .NET 开发人员能够从 HTML、Crystal Reports、XML 和 SQL Server 数据生成 PDF 报告。 该 C# 库只需几行代码即可简化 ASP.NET 应用程序中的报表创建,并保留所有格式和样式。
*as-heading:2(快速入门:使用IronPDF生成 PDF 报告 )*
仅需几行代码即可使用 IronPDF 开始生成 PDF 报告。 这份简明指南使开发人员能够立即将 HTML 内容转换为专业的 PDF 文档,并轻松保留所有格式。 请参阅下面的示例,了解如何简单地将您的数据转换为精美的 PDF 报告。
```cs
:title=Generate your PDF report in one line!
// Instantiate ChromePdfRenderer for HTML to PDF conversion
new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf");
```
<div class="hsg-featured-snippet">
<h3>最小工作流程(5 个步骤)</h3>
<ol>
<li><a class="js-modal-open" data-modal-id="trial-license-after-download" href="https://nuget.org/packages/IronPdf/">下载并安装 IronPDF C# PDF 报告库</a>。</li>
<li>将报告生成 HTML 文档并渲染为 PDF 文件</li>
<li>使用以下方法导出 Crystal Reports:文件 → 导出 → HTML 4.0</li>
<li>通过解析 XML 并利用数据生成 HTML 来设计 XML 报告样式</li>
<li>对 PDF 进行数字签名,确保报告未被篡改</li>
</ol>
</div>
<hr class="separator" />
#### 步骤1
## 如何安装 IronPDF?
[IronPDF在NuGet上](https://www.nuget.org/packages/IronPdf)
```shell
:ProductInstall
```
您也可以[手动下载 IronPDF DLL](https://www.nuget.org/packages/IronPdf)。 有关高级安装方案,请查看我们全面的 [NuGet 软件包指南](https://ironpdf.com/get-started/advanced-installation-nuget/),其中涵盖了 Azure、AWS、Linux、Mac 和 Windows 平台的配置。 如果您正在使用容器化应用程序,我们的[Docker集成指南](https://ironpdf.com/get-started/ironpdf-docker/)提供了详细的设置说明。
<hr class="separator" />
#### 如何使用教程
## 创建 PDF 报告的方法是什么?
首先将报告生成 HTML 文档,然后使用 IronPDF 将 HTML 呈现为 PDF。 本教程向您展示了在 ASP.NET C# 中创建 PDF 报告的步骤。 IronPDF 的[Chrome 渲染引擎](https://ironpdf.com/how-to/ironpdf-2021-chrome-rendering-engine-eap/)可确保像素级完美转换,同时支持现代 HTML5、CSS3 和 JavaScript。
```csharp
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
renderer.RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf");
```
对于更复杂的报告需求,请浏览我们的[综合 PDF 创建教程](https://ironpdf.com/how-to/create-new-pdfs/),其中包括水印、压缩、背景、页眉、页脚、表单和密码保护。
## 如何使用 .NET 将 Crystal Reports 转换为 PDF?
使用以下工具将 Crystal Reports 导出为 HTML
文件 → 导出 → HTML 4.0
然后可以使用方法论部分中上述的 C# 示例代码将生成的报告导出为 PDF。 IronPDF 为 [ 将 HTML 文件转换为 PDF](https://ironpdf.com/how-to/html-file-to-pdf/) 提供了出色的支持,保持了 Crystal Reports 输出中的所有格式和样式。
下面是一个例子:
```csharp
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");
```
有关高级页眉和页脚定制,包括基于 HTML 的页眉,请访问我们的[页眉和页脚指南](https://ironpdf.com/how-to/headers-and-footers/)。
### 如何以编程方式将 Crystal Reports 转换为 PDF?
如果您希望通过编程方式从 Crystal Reports (RPT) 文件创建 PDF,这也是可能的,可以为您提供更大的控制。 这种方法可与 IronPDF 的[渲染选项](https://ironpdf.com/how-to/rendering-options/)无缝集成,实现完全定制。
```csharp
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));
}
```
## 如何从 XML 生成 PDF 报告?
尽管 JSON 等更易于编码的格式已经普及,但以 XML 格式导出报告数据仍然很常见。 IronPDF 为 [XML 到 PDF 的转换](https://ironpdf.com/how-to/xml-to-pdf/)提供了出色的支持,提供了多种处理 XML 数据的方法。
为 XML 报告设计样式,解析 XML 并将数据生成 HTML。
更优雅的解决方案是使用XSLT通过使用`XslCompiledTransform`类将XML直接转换为HTML,如文章[使用XslCompiledTransform类](https://docs.microsoft.com/en-us/dotnet/standard/data/xml/using-the-xslcompiledtransform-class)中所述。
然后可以使用 IronPDF 将生成的 HTML 字符串或文件呈现为 PDF:
```csharp
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);
}
```
请访问[在 C# 和 VB.NET 中将 XML 转换为 PDF 的文章](/how-to/xml-to-pdf/),了解有关高级 XML 转换技术和最佳实践的更多信息。
## 如何将 SQL Server 报表导出为 PDF?
微软的 SQL 服务器和免费的 SQL 服务器 Express 包含报告工具。 将 SSRS 报告导出为 ASP.NET 中的 PDF 是 IronPDF 的一个有用用途。 对于复杂的数据可视化需求,IronPDF 支持 [渲染 JavaScript 图表](https://ironpdf.com/how-to/javascript-to-pdf/),包括 C3.js、D3.js 和 Highcharts 等流行库。
[教程:如何定位和启动 SSRS 工具](https://docs.microsoft.com/en-us/sql/reporting-services/tools/tutorial-how-to-locate-and-start-reporting-services-tools-ssrs?view=sql-server-2017)
这些报告可以生成为 HTML,然后可以定制,并使用 IronPDF 转换为 PDF 格式。 IronPDF 的 [HTML 字符串到 PDF 的转换](https://ironpdf.com/how-to/html-string-to-pdf/)功能可完全控制最终输出。
[渲染为 HTML(报告生成器)](https://docs.microsoft.com/en-us/sql/reporting-services/report-builder/rendering-to-html-report-builder-and-ssrs?view=sql-server-2017)
对于需要安全数据访问的企业环境,IronPDF 支持 [TLS 网站和系统登录](https://ironpdf.com/how-to/logins/),以处理经过验证的报告生成。
## 如何确保 PDF 报告的安全?
为确保 PDF 报告未经修改或篡改,请对其进行数字签名。 这最容易在 PDF 报告文件被渲染然后保存到磁盘后实现。 IronPDF 提供全面的[PDF 签名功能](https://ironpdf.com/how-to/signing/),包括支持[硬件安全模块 (HSM)](https://ironpdf.com/how-to/signing-pdf-with-hsm/)。
```csharp
using IronPdf.Signing;
// Sign our PDF Report using a p12 or pix digital certificate file
new PdfSignature("IronSoftware.pfx", "123456").SignPdfFile("signed.pdf");
```
如果您没有数字签名,可以使用免费的 Adobe Acrobat Reader 在 macOS 和 Windows 上创建新的数字签名文件。 有关其他安全措施,请浏览我们的[IronPDF权限和密码指南](https://ironpdf.com/how-to/pdf-permissions-passwords/),以控制文档访问和编辑权限。
## 如何使用 ASP.NET Webforms 将 ASPX 转换为 PDF?
在ASP.NET中提供HTML内容的最简单方法是使用ASP.NET WebForms应用程序中`IronPdf.AspxToPdf`类。 这项强大的功能可让您将整个 ASPX 页面(包括服务器端控件和动态内容)直接转换为 PDF。
```csharp
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>;
}
```
我们希望这篇文章已帮助您学习如何在 ASP.NET C# 或 VB.NET 中生成 PDF 报告。 您还可以查看我们完整的[ASP.NET ASPX 转 PDF 教程](/how-to/aspx-to-pdf/),了解更多高级应用场景,包括 ASPX 页面转 PDF 设置和处理复杂布局。
IronPDF for .NET 通过将 HTML 内容渲染为 PDF 文档,使 .NET 开发人员能够从 HTML、Crystal Reports、XML 和 SQL Server 数据生成 PDF 报告。 该 C# 库只需几行代码即可简化 ASP.NET 应用程序中的报表创建,并保留所有格式和样式。
快速入门:使用IronPDF生成 PDF 报告
仅需几行代码即可使用 IronPDF 开始生成 PDF 报告。 这份简明指南使开发人员能够立即将 HTML 内容转换为专业的 PDF 文档,并轻松保留所有格式。 请参阅下面的示例,了解如何简单地将您的数据转换为精美的 PDF 报告。
1Install IronPDF with NuGet Package Manager
PM > Install-Package IronPdf
Install-Package IronPdf
2复制并运行这段代码。
// Instantiate ChromePdfRenderer for HTML to PDF conversionnewIronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf");
// Instantiate ChromePdfRenderer for HTML to PDF conversion
new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf");
using CrystalDecisions.CrystalReports.Engine;using CrystalDecisions.Shared;using System.IO;using IronPdf;public static voidExportRptToPdf(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 varRenderer = new ChromePdfRenderer(); // Add dynamic header with URLRenderer.RenderingOptions.TextHeader.CenterText = "{url}"; // Add footer with timestamp and page numbersRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}";Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}"; // Render the HTML file to PDF and saveRenderer.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));
}
ImportsCrystalDecisions.CrystalReports.EngineImportsCrystalDecisions.SharedImportsSystem.IOImportsIronPdfPublic Sub ExportRptToPdf(rptPath AsString, pdfOutputPath AsString) ' 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 AsExportOptions = 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 DimRendererAs New ChromePdfRenderer() ' Add dynamic header with URLRenderer.RenderingOptions.TextHeader.CenterText = "{url}" ' Add footer with timestamp and page numbersRenderer.RenderingOptions.TextFooter.LeftText = "{date} {time}"Renderer.RenderingOptions.TextFooter.RightText = "{page} of {total-pages}" ' Render the HTML file to PDF and saveRenderer.RenderFileAsPdf(diskOpts.DiskFileName).SaveAs(pdfOutputPath)Console.WriteLine("Report Written To {0}", Path.GetFullPath(pdfOutputPath))End Sub
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
我最喜欢的这种库是 IronPDF。它允许快速高效地操作 PDF 文件。它还具有许多有价值的功能,比如导出为 PDF/A 格式和数字签名 PDF 文档。
using System.IO;using System.Xml;using System.Xml.Xsl;using IronPdf;public static voidConvertXmlToPdf(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);
}
ImportsSystem.IOImportsSystem.XmlImportsSystem.Xml.XslImportsIronPdfPublicShared Sub ConvertXmlToPdf(xml AsString, xslt AsString, pdfOutputPath AsString) ' Initialize XSLT transformation Dim transform As New XslCompiledTransform()Using reader AsXmlReader = XmlReader.Create(New StringReader(xslt)) transform.Load(reader) ' Load XSLT stylesheetEndUsing ' Transform XML to HTML Dim results As New StringWriter()Using reader AsXmlReader = XmlReader.Create(New StringReader(xml)) transform.Transform(reader, Nothing, results) ' Apply transformationEndUsing ' Convert the generated HTML to PDF Dim renderer As New ChromePdfRenderer() renderer.RenderHtmlAsPdf(results.ToString()).SaveAs(pdfOutputPath)End Sub
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
为确保 PDF 报告未经修改或篡改,请对其进行数字签名。 这最容易在 PDF 报告文件被渲染然后保存到磁盘后实现。 IronPDF 提供全面的PDF 签名功能,包括支持硬件安全模块 (HSM)。
using IronPdf.Signing;// Sign our PDF Report using a p12 or pix digital certificate filenewPdfSignature("IronSoftware.pfx", "123456").SignPdfFile("signed.pdf");
using IronPdf.Signing;
// Sign our PDF Report using a p12 or pix digital certificate file
new PdfSignature("IronSoftware.pfx", "123456").SignPdfFile("signed.pdf");
ImportsIronPdf.Signing' Sign our PDF Report using a p12 or pix digital certificate fileCall (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")
如果您没有数字签名,可以使用免费的 Adobe Acrobat Reader 在 macOS 和 Windows 上创建新的数字签名文件。 有关其他安全措施,请浏览我们的IronPDF权限和密码指南,以控制文档访问和编辑权限。
using IronPdf;public static voidRenderAspxToPdf(){ // Configure PDF rendering options varAspxToPdfOptions = new ChromePdfRenderOptions() {EnableJavaScript = false, // Disable JavaScript for simpler reportsPrintHtmlBackgrounds = true, // Include background colors and imagesMarginTop = 20, // Set top margin in mmMarginBottom = 20, // Set bottom margin in mmPaperOrientation = 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>;
}
ImportsIronPdfPublicModulePdfRenderer Public Sub RenderAspxToPdf() ' Configure PDF rendering options DimAspxToPdfOptionsAs 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 downloadAspxToPdf.RenderThisPageAsPdf(AspxToPdf.FileBehavior.Attachment, "Report.pdf", AspxToPdfOptions) End SubEndModule
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
我们希望这篇文章已帮助您学习如何在 ASP.NET C# 或 VB.NET 中生成 PDF 报告。 您还可以查看我们完整的ASP.NET ASPX 转 PDF 教程,了解更多高级应用场景,包括 ASPX 页面转 PDF 设置和处理复杂布局。
常见问题解答
如何用 C# 从 HTML 生成 PDF 报告?
IronPDF 使您只需一行代码就能从 HTML 生成 PDF 报告:new IronPdf.ChromePdfRenderer().RenderHtmlFileAsPdf("report.html").SaveAs("report.pdf").这将在最终 PDF 文档中保留所有 HTML 格式和样式。
哪些类型的报告可以转换为 PDF?
IronPDF 支持将多种报告类型转换为 PDF,包括 HTML 报告、Crystal 报告(导出为 HTML 4.0)、XML 报告(采用 HTML 风格)和 SQL Server 数据报告。该库使用 Chrome 渲染引擎,以确保像素级的完美转换。
是的,您可以使用 IronPDF 将 Crystal Reports 转换为 PDF,方法是首先将 Crystal Report 导出为 HTML 4.0 格式(文件 → 导出 → HTML 4.0),然后使用 IronPDF 的 RenderHtmlFileAsPdf 方法将 HTML 输出转换为 PDF 文档。
如何从 SQL Server 数据创建 PDF 报告?
要从 SQL Server 数据创建 PDF 报告,首先用数据生成 HTML 报告,然后使用 IronPDF 的 ChromePdfRenderer 将 HTML 转换为 PDF。该库保留了所有格式,因此非常适合数据库驱动的报告。
我可以对 PDF 报告进行数字签名吗?
是的,IronPDF 允许您对 PDF 报告进行数字签名,以确保它们未被篡改。该功能为您生成的 PDF 文档增加了一层额外的安全性和真实性。
库是否支持现代网络标准?
IronPDF 的 Chrome 渲染引擎完全支持现代 HTML5、CSS3 和 JavaScript,确保您的报告准确渲染,并在 PDF 输出中保留所有现代网络样式和交互元素。
How do I convert an ASPX page to PDF using IronPDF?
IronPDF offers the `AspxToPdf` class to directly convert ASPX pages to PDF in ASP.NET WebForms. This includes server-side controls and dynamic content, allowing you to generate complete PDF versions of ASPX pages effortlessly.
Can XML be converted to PDF with IronPDF?
Yes, XML can be converted to PDF using IronPDF by first transforming XML data into HTML through XSLT, and then converting the HTML to PDF. This process ensures that the layout and data integrity are maintained.
Does IronPDF support digitally signing PDF reports?
Yes, IronPDF supports digitally signing PDF reports to ensure document integrity. You can use P12 or PIX digital certificates to sign PDF files, securing them against unauthorized modifications.