跳至页脚内容
使用IRONPDF

如何在.NET中使用IronPDF创建PDF文件(C#教程)

IronPDF 允许 .NET 开发人员仅使用三行 C# 代码即可将 HTML 转换为 PDF。 它采用 Chrome 渲染引擎,确保像素级精准的输出效果,并全面支持 CSS 和 JavaScript,使 PDF 生成变得如同编写标准网页内容般简单。

使用高效的 .NET PDF 库 IronPDF,将 HTML 内容转换为像素级精确的 PDF 文档几乎无需编写代码。 您将获得简洁 Professional PDF 文件,这些文件能准确还原源内容,且无需学习复杂的 API 或解决渲染问题。

读完本文后,您将能够自信地创建专业的 PDF 文档。 无论您需要生成发票、复杂报告,还是从动态内容中创建 PDF 文档,IronPDF 都能满足您的需求。 该库完整的文档丰富的功能使其成为使用 C# 创建 PDF 的理想选择。

如何在 .NET 应用程序中快速生成 PDF 文档?

.NET PDF 生成环境已发生重大变化。 现代开发者需要一种比手动定位文本和图形更高效的 PDF 文档创建方式。 借助当前的 Web 开发技术,HTML 转 PDF 已成为行业标准,始终能产出高质量的成果。

IronPDF 通过采用完整的 Chrome 渲染引擎,在 .NET 生态系统中脱颖而出。这意味着您的 PDF 文件将与在 Chrome 浏览器中的显示效果完全一致。 每个CSS动画,每个JavaScript交互,每个Web字体都完美显示。 渲染选项提供了对输出结果的全面控制。

开发人员经常利用 PDF 生成功能来创建带有计算总金额的动态发票、生成包含图表的合规报告,以及将网页内容转换为可下载的文档。 如果您希望创建采用现代网页标准、视觉效果出色的 PDF 文档,IronPDF 正是您的理想之选。

如何在 .NET 项目中安装 IronPDF?

IronPDF的入门时间不到五分钟。 该库可通过 NuGet 获取,因此无论您正在构建 ASP.NET Core 应用程序、Windows Forms 应用程序还是控制台应用程序,都能轻松将其安装到任何 .NET 项目中。 安装指南提供了分步说明。

如何通过包管理器界面进行安装?

通过包管理器界面添加 IronPDF:

  1. 在Visual Studio中,右键单击解决方案资源管理器中的项目,并选择"管理NuGet包"。
  2. 点击"浏览"选项卡,搜索"IronPDF"。

    Visual Studio 中的 NuGet 包管理器显示了 IronPDF 的搜索结果,其中列出了各种 IronPDF 包及其平台特定的依赖项

  3. 从搜索结果中选择 IronPDF 软件包,然后点击"安装"。

    NuGet 包管理器窗口显示 IronPDF 包已准备好安装,已选择版本 2025.8.8 并选中"IronSoftware.Testing"项目

包管理器会自动处理所有依赖项,确保 .NET PDF 库能够立即生成 PDF 文档。

您在包管理器控制台中使用哪些命令?

对于喜欢命令行的开发者,在Visual Studio中打开包管理器控制台并运行:

Install-Package IronPdf
Install-Package IronPdf
SHELL

或者,如果您使用的是 .NET CLI:

dotnet add package IronPdf
dotnet add package IronPdf
SHELL

这两个命令都会下载 IronPDF 的最新稳定版本以及所有必需的依赖项。

安装后如何配置 IronPDF?

安装完成后,请在应用程序启动时输入您的许可证密钥:

IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY";
IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"
$vbLabelText   $csharpLabel

开发和测试始终免费,允许您在购买前充分评估该库。 如需进行生产环境部署,请查阅 IronPDF 许可页面中的相关选项。 您也可以先从免费试用许可证开始。

如何从 HTML 生成您的第一个 PDF 文件?

本节演示了支撑所有 PDF 生成场景的核心方法。 下面的代码仅需几行即可生成可用的 PDF 文件。

using IronPdf;

// Instantiate the Chrome PDF renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from an HTML string
PdfDocument doc = renderer.RenderHtmlAsPdf("<h1>Hello, PDF World!</h1><p>This is my first IronPDF document.</p>");

// Save the PDF to disk
doc.SaveAs("my-first-pdf.pdf");
using IronPdf;

// Instantiate the Chrome PDF renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from an HTML string
PdfDocument doc = renderer.RenderHtmlAsPdf("<h1>Hello, PDF World!</h1><p>This is my first IronPDF document.</p>");

// Save the PDF to disk
doc.SaveAs("my-first-pdf.pdf");
Imports IronPdf

' Instantiate the Chrome PDF renderer
Dim renderer As New ChromePdfRenderer()

' Create a PDF from an HTML string
Dim doc As PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello, PDF World!</h1><p>This is my first IronPDF document.</p>")

' Save the PDF to disk
doc.SaveAs("my-first-pdf.pdf")
$vbLabelText   $csharpLabel

ChromePdfRenderer 是使用 IronPDF 在 .NET 中生成 PDF 的起点。 将任何 HTML 字符串传递给 RenderHtmlAsPdf,它将返回一个可直接使用的 PdfDocument。 然后 SaveAs 将 PDF 写入磁盘。 渲染器自动处理将HTML元素转换为PDF的所有复杂性,应用默认样式,并创建一个格式正确的PDF文档。 对于更复杂的场景,请探索 HTML 字符串转 PDF 功能

! PDF 查看器显示一个简单的 PDF 文档,标题为"Hello, PDF World!",正文为"这是我的第一个 IronPDF 文档。"

在生成 PDF 时如何处理复杂的 HTML?

现实世界的PDF需要更复杂的HTML。 以下是使用 IronPDF 创建专业文档的方法。 您还可以添加页眉和页脚,或添加水印以进行品牌标识:

using IronPdf;

var renderer = new ChromePdfRenderer();
string html = @"
<!DOCTYPE html>
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        .header { color: #2c3e50; border-bottom: 2px solid #3498db; }
        .invoice-details { margin: 20px 0; }
        .table { width: 100%; border-collapse: collapse; }
        .table th, .table td { padding: 10px; border: 1px solid #ddd; }
        .table th { background-color: #f8f9fa; }
        .total { font-weight: bold; font-size: 1.2em; color: #27ae60; }
    </style>
</head>
<body>
    <h1 class='header'>Invoice #INV-2024-001</h1>
    <div class='invoice-details'>
        <p><strong>Date:</strong> January 15, 2024</p>
        <p><strong>Client:</strong> Acme Corporation</p>
    </div>
    <table class='table'>
        <thead>
            <tr>
                <th>Item</th>
                <th>Quantity</th>
                <th>Price</th>
                <th>Total</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Professional Services</td>
                <td>10 hours</td>
                <td>$150/hour</td>
                <td>$1,500.00</td>
            </tr>
            <tr>
                <td>Software License</td>
                <td>1</td>
                <td>$500.00</td>
                <td>$500.00</td>
            </tr>
        </tbody>
    </table>
    <p class='total'>Total Due: $2,000.00</p>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("professional-invoice.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();
string html = @"
<!DOCTYPE html>
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        .header { color: #2c3e50; border-bottom: 2px solid #3498db; }
        .invoice-details { margin: 20px 0; }
        .table { width: 100%; border-collapse: collapse; }
        .table th, .table td { padding: 10px; border: 1px solid #ddd; }
        .table th { background-color: #f8f9fa; }
        .total { font-weight: bold; font-size: 1.2em; color: #27ae60; }
    </style>
</head>
<body>
    <h1 class='header'>Invoice #INV-2024-001</h1>
    <div class='invoice-details'>
        <p><strong>Date:</strong> January 15, 2024</p>
        <p><strong>Client:</strong> Acme Corporation</p>
    </div>
    <table class='table'>
        <thead>
            <tr>
                <th>Item</th>
                <th>Quantity</th>
                <th>Price</th>
                <th>Total</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Professional Services</td>
                <td>10 hours</td>
                <td>$150/hour</td>
                <td>$1,500.00</td>
            </tr>
            <tr>
                <td>Software License</td>
                <td>1</td>
                <td>$500.00</td>
                <td>$500.00</td>
            </tr>
        </tbody>
    </table>
    <p class='total'>Total Due: $2,000.00</p>
</body>
</html>";

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("professional-invoice.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()
Dim html As String = "
<!DOCTYPE html>
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        .header { color: #2c3e50; border-bottom: 2px solid #3498db; }
        .invoice-details { margin: 20px 0; }
        .table { width: 100%; border-collapse: collapse; }
        .table th, .table td { padding: 10px; border: 1px solid #ddd; }
        .table th { background-color: #f8f9fa; }
        .total { font-weight: bold; font-size: 1.2em; color: #27ae60; }
    </style>
</head>
<body>
    <h1 class='header'>Invoice #INV-2024-001</h1>
    <div class='invoice-details'>
        <p><strong>Date:</strong> January 15, 2024</p>
        <p><strong>Client:</strong> Acme Corporation</p>
    </div>
    <table class='table'>
        <thead>
            <tr>
                <th>Item</th>
                <th>Quantity</th>
                <th>Price</th>
                <th>Total</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Professional Services</td>
                <td>10 hours</td>
                <td>$150/hour</td>
                <td>$1,500.00</td>
            </tr>
            <tr>
                <td>Software License</td>
                <td>1</td>
                <td>$500.00</td>
                <td>$500.00</td>
            </tr>
        </tbody>
    </table>
    <p class='total'>Total Due: $2,000.00</p>
</body>
</html>"

Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("professional-invoice.pdf")
$vbLabelText   $csharpLabel

此示例演示了 IronPDF 如何处理包含嵌入式 CSS 样式的完整 HTML 文档。 渲染器会处理整个文档结构,应用包括边框、颜色和间距在内的所有 CSS 规则,创建格式正确且样式规范的表格,并保持标题与内容的视觉层级关系。 生成的 PDF 文档外观与在 Chrome 中打开 HTML 页面时完全一致。

! PDF 查看器正在显示使用 IronPDF 生成的专业发票文档,发票编号为 INV-2024-001,列出的服务项目总计 2,000.00 美元。

准备好创建专业的发票和报告了吗? 开始免费试用,看看IronPDF如何简化PDF生成过程,让您的商业应用更高效。

如何配置渲染选项以生成更优质的 PDF 文件?

IronPDF 通过 RenderingOptions 属性提供对渲染过程的广泛控制。 这些选项包括自定义纸张尺寸、页面方向和 CSS 媒体类型:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure rendering options for professional PDF output
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

string html = @"
<!DOCTYPE html>
<html>
<head>
    <style>
        body { font-family: 'Segoe UI', sans-serif; margin: 0; }
        .header { background: #2c3e50; color: white; padding: 20px; text-align: center; }
        .content { padding: 20px; }
        .section { margin-bottom: 30px; }
        .section h2 { border-bottom: 2px solid #3498db; color: #3498db; padding-bottom: 5px; }
        .table { width: 100%; border-collapse: collapse; margin-top: 15px; }
        .table th, .table td { border: 1px solid #ddd; padding: 10px; }
        .table th { background-color: #f8f9fa; }
        .footer { text-align: center; font-size: 0.9em; color: #888; margin-top: 40px; }
    </style>
</head>
<body>
    <div class='header'>
        <h1>Monthly Report -- February 2024</h1>
    </div>
    <div class='content'>
        <div class='section'>
            <h2>Overview</h2>
            <p>This report provides a summary of sales performance, client engagement, and feedback.</p>
        </div>
        <div class='section'>
            <h2>Sales Data</h2>
            <table class='table'>
                <thead>
                    <tr>
                        <th>Product</th>
                        <th>Units Sold</th>
                        <th>Unit Price</th>
                        <th>Total</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>Software License</td>
                        <td>120</td>
                        <td>$99</td>
                        <td>$11,880</td>
                    </tr>
                    <tr>
                        <td>Consulting Hours</td>
                        <td>80</td>
                        <td>$150</td>
                        <td>$12,000</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
    <div class='footer'>
        <p>Confidential -- For Internal Use Only</p>
    </div>
</body>
</html>
";

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("configured-output.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure rendering options for professional PDF output
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4;
renderer.RenderingOptions.MarginTop = 25;
renderer.RenderingOptions.MarginBottom = 25;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.CreatePdfFormsFromHtml = true;
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

string html = @"
<!DOCTYPE html>
<html>
<head>
    <style>
        body { font-family: 'Segoe UI', sans-serif; margin: 0; }
        .header { background: #2c3e50; color: white; padding: 20px; text-align: center; }
        .content { padding: 20px; }
        .section { margin-bottom: 30px; }
        .section h2 { border-bottom: 2px solid #3498db; color: #3498db; padding-bottom: 5px; }
        .table { width: 100%; border-collapse: collapse; margin-top: 15px; }
        .table th, .table td { border: 1px solid #ddd; padding: 10px; }
        .table th { background-color: #f8f9fa; }
        .footer { text-align: center; font-size: 0.9em; color: #888; margin-top: 40px; }
    </style>
</head>
<body>
    <div class='header'>
        <h1>Monthly Report -- February 2024</h1>
    </div>
    <div class='content'>
        <div class='section'>
            <h2>Overview</h2>
            <p>This report provides a summary of sales performance, client engagement, and feedback.</p>
        </div>
        <div class='section'>
            <h2>Sales Data</h2>
            <table class='table'>
                <thead>
                    <tr>
                        <th>Product</th>
                        <th>Units Sold</th>
                        <th>Unit Price</th>
                        <th>Total</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>Software License</td>
                        <td>120</td>
                        <td>$99</td>
                        <td>$11,880</td>
                    </tr>
                    <tr>
                        <td>Consulting Hours</td>
                        <td>80</td>
                        <td>$150</td>
                        <td>$12,000</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
    <div class='footer'>
        <p>Confidential -- For Internal Use Only</p>
    </div>
</body>
</html>
";

var pdf = renderer.RenderHtmlAsPdf(html);
pdf.SaveAs("configured-output.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Configure rendering options for professional PDF output
renderer.RenderingOptions.PaperSize = IronPdf.Rendering.PdfPaperSize.A4
renderer.RenderingOptions.MarginTop = 25
renderer.RenderingOptions.MarginBottom = 25
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.CreatePdfFormsFromHtml = True
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print

Dim html As String = "
<!DOCTYPE html>
<html>
<head>
    <style>
        body { font-family: 'Segoe UI', sans-serif; margin: 0; }
        .header { background: #2c3e50; color: white; padding: 20px; text-align: center; }
        .content { padding: 20px; }
        .section { margin-bottom: 30px; }
        .section h2 { border-bottom: 2px solid #3498db; color: #3498db; padding-bottom: 5px; }
        .table { width: 100%; border-collapse: collapse; margin-top: 15px; }
        .table th, .table td { border: 1px solid #ddd; padding: 10px; }
        .table th { background-color: #f8f9fa; }
        .footer { text-align: center; font-size: 0.9em; color: #888; margin-top: 40px; }
    </style>
</head>
<body>
    <div class='header'>
        <h1>Monthly Report -- February 2024</h1>
    </div>
    <div class='content'>
        <div class='section'>
            <h2>Overview</h2>
            <p>This report provides a summary of sales performance, client engagement, and feedback.</p>
        </div>
        <div class='section'>
            <h2>Sales Data</h2>
            <table class='table'>
                <thead>
                    <tr>
                        <th>Product</th>
                        <th>Units Sold</th>
                        <th>Unit Price</th>
                        <th>Total</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>Software License</td>
                        <td>120</td>
                        <td>$99</td>
                        <td>$11,880</td>
                    </tr>
                    <tr>
                        <td>Consulting Hours</td>
                        <td>80</td>
                        <td>$150</td>
                        <td>$12,000</td>
                    </tr>
                </tbody>
            </table>
        </div>
    </div>
    <div class='footer'>
        <p>Confidential -- For Internal Use Only</p>
    </div>
</body>
</html>
"

Dim pdf = renderer.RenderHtmlAsPdf(html)
pdf.SaveAs("configured-output.pdf")
$vbLabelText   $csharpLabel

这些渲染选项可让您精确控制纸张尺寸和方向、用于 Professional 版式的边距设置、背景颜色和图像渲染、基于 HTML 输入字段创建表单字段,以及 CSS 媒体类型的选择。 CssMediaType.Print 设置特别有用——它应用了特定于打印的 CSS 规则,确保生成的 PDF 使用适合打印输出而不是屏幕显示的适当样式。

! PDF 查看器显示 2024 年 2 月的月度销售报告,其中包含销售数据表和反馈表单字段

如何将网页转换为 PDF?

将网页转换为 PDF 是 IronPDF 最强大的功能之一。 无论您需要归档网页内容、从在线仪表盘生成报告,还是将应用程序页面转换为 PDF,IronPDF 都能轻松胜任。 以下示例演示了如何将任意公开的 URL 渲染为 PDF 文档:

using IronPdf;

// Create a new ChromePdfRenderer instance
var renderer = new ChromePdfRenderer();

// Configure rendering options for a web page
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.JavaScript(3000); // Wait 3 seconds for JavaScript to load
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

// Convert any public webpage to PDF
var pdf = renderer.RenderUrlAsPdf("https://www.wikipedia.org");
pdf.SaveAs("wikipedia-homepage.pdf");
using IronPdf;

// Create a new ChromePdfRenderer instance
var renderer = new ChromePdfRenderer();

// Configure rendering options for a web page
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.JavaScript(3000); // Wait 3 seconds for JavaScript to load
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

// Convert any public webpage to PDF
var pdf = renderer.RenderUrlAsPdf("https://www.wikipedia.org");
pdf.SaveAs("wikipedia-homepage.pdf");
Imports IronPdf

' Create a new ChromePdfRenderer instance
Dim renderer As New ChromePdfRenderer()

' Configure rendering options for a web page
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.JavaScript(3000) ' Wait 3 seconds for JavaScript to load
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print

' Convert any public webpage to PDF
Dim pdf = renderer.RenderUrlAsPdf("https://www.wikipedia.org")
pdf.SaveAs("wikipedia-homepage.pdf")
$vbLabelText   $csharpLabel

RenderUrlAsPdf 方法导航到指定的 URL,等待页面完全加载,执行页面上的任何 JavaScript,然后将渲染的输出捕获为 PDF。 该流程采用真实的 Chrome 浏览器引擎,确保与原始网页高度一致。

Reddit首页界面截图,显示多个热门帖子和讨论

如何处理本地文件和资源?

IronPDF 还可以转换本地 HTML 文件,因此非常适合根据模板生成 PDF:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Render a local HTML file
string filename = "report-template.html";
var pdf = renderer.RenderHtmlFileAsPdf(filename);
pdf.SaveAs("report.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Render a local HTML file
string filename = "report-template.html";
var pdf = renderer.RenderHtmlFileAsPdf(filename);
pdf.SaveAs("report.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Render a local HTML file
Dim filename As String = "report-template.html"
Dim pdf = renderer.RenderHtmlFileAsPdf(filename)
pdf.SaveAs("report.pdf")
$vbLabelText   $csharpLabel

RenderHtmlFileAsPdf 方法会自动解析图像、CSS 文件和 JavaScript 库的相对路径。 这种方法非常适用于基于模板的 PDF 生成,即使用预先设计的 HTML 模板并填充动态数据的情况。 如需进行更复杂的文档操作,请查看如何合并或拆分 PDF 文件

PDF 文档显示了 2024 年 3 月的月度报告,其中包含销售数据表,该报告使用 IronPDF for .NET 创建。

如何处理大量使用 JavaScript 的内容?

现代Web应用程序在动态内容生成上大量依赖JavaScript。 当您需要从包含大量 JavaScript 的页面生成 PDF 文档时,IronPDF 可处理以下场景:

using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure JavaScript rendering for PDF generation
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(2000); // Wait 2 seconds for JS to execute

// Convert a JavaScript-heavy page to PDF
var htmlFile = "TestFiles/JS-example.html";
var pdf = renderer.RenderHtmlFileAsPdf(htmlFile);
pdf.SaveAs("javascript-example.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

// Configure JavaScript rendering for PDF generation
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(2000); // Wait 2 seconds for JS to execute

// Convert a JavaScript-heavy page to PDF
var htmlFile = "TestFiles/JS-example.html";
var pdf = renderer.RenderHtmlFileAsPdf(htmlFile);
pdf.SaveAs("javascript-example.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

' Configure JavaScript rendering for PDF generation
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay(2000) ' Wait 2 seconds for JS to execute

' Convert a JavaScript-heavy page to PDF
Dim htmlFile As String = "TestFiles/JS-example.html"
Dim pdf = renderer.RenderHtmlFileAsPdf(htmlFile)
pdf.SaveAs("javascript-example.pdf")
$vbLabelText   $csharpLabel

通过启用 EnableJavaScript 并添加简短的 RenderDelayChromePdfRenderer 会等待动态脚本(例如图表和动画)执行完毕后再捕获 PDF。 IronPDF支持所有现代JavaScript框架和库。 无论您的应用程序使用React、Angular、Vue.js还是普通JavaScript,从Chrome渲染引擎执行一切,均如同在标准浏览器中一样。

动态销售仪表盘,以条形图形式展示季度收入数据(第一季度至第四季度),该图表使用 JavaScript 渲染,显示数值范围约为 12,000 美元至 22,000 美元。

您可以为文档添加哪些高级 PDF 功能?

IronPDF提供了高级功能,将基本的PDF转变为专业、安全和互动的文档。 下表总结了最常用的功能:

IronPDF 关键高级功能
特征 说明 指南
水印 添加文本或图像水印以满足品牌标识和合规要求 水印指南
数字签名 使用 X.509 证书对 PDF 文件进行签名以确认真实性 签名指南
页眉和页脚 插入统一的页眉、页脚和页码 标题指南
PDF 表单 创建并填写交互式表单字段 表单指南
合并与拆分 通过页面控制合并多个 PDF 或拆分大文件 合并/拆分指南
PDF到图像 将 PDF 页面渲染为高质量图像以供预览 PDF 转图像指南
文本提取 从现有 PDF 文档中提取文本内容 文本提取指南

所有这些功能均通过统一的 API 提供,因此添加水印、签名或表单字段时,所采用的编码模式与您在基础 PDF 生成中已熟悉的完全一致。 IronPDF 功能页面提供了可用功能的完整列表。

如何在多个平台上使用 IronPDF?

IronPDF 的多功能性不仅限于 C# 和 .NET,使其成为拥有多样化技术栈的组织的实用解决方案。

IronPDF 支持哪些 .NET 平台?

IronPDF 可在 Microsoft .NET 文档中定义的所有现代 .NET 平台上运行:

  • .NET Framework 4.6.2+
  • .NET Core 2.0+
  • .NET Standard 2.0+
  • .NET 5、6、7、8、9 和 10

无论您是在维护传统的 .NET Framework 应用程序,构建现代的 .NET 10 微服务,还是为了实现最大兼容性而采用 .NET Standard,IronPDF 在所有场景中均使用相同的 API。 无论是在Windows、Linux、macOS、Docker容器还是云平台上进行部署,均无需更改代码。

IronPDF 支持哪些编程语言?

IronPDF 支持多种编程语言:

  • IronPDF 适用于 Java:与 .NET 版本功能完全一致
  • IronPDF 适用于 Python:一款适用于数据科学和 Web 应用程序的 Python 风格 API
  • IronPDF 适用于 Node.js:一个适用于服务器端 PDF 生成的 JavaScript 友好接口
  • VB.NET 和 F#:在 .NET 生态系统中获得一流的支持

各语言版本均采用相同的高质量 Chrome 渲染引擎和完整功能集,确保无论使用何种实现语言,生成的 PDF 文件均保持一致。 PDF 协会发布的 PDF 规范定义了 IronPDF 旨在实现最大兼容性的格式标准。

在哪里可以找到帮助和文档?

即使 IronPDF 拥有直观的 API,您偶尔可能仍需寻求帮助。 Iron Software 提供丰富的资源,以确保您的成功。

在哪里可以找到官方文档?

官方文档涵盖了 IronPDF 的方方面面,从基本的 HTML 转 PDF 到数字签名和表单创建等高级功能。 每项功能均包含可运行的代码示例、详细说明及最佳实践。 针对具体场景,操作指南文章提供了常见任务的分步说明。

有哪些支持选项?

如遇问题,可通过以下支持渠道联系:

  • 24/7 在线聊天:立即获得熟悉该库的工程师协助
  • 电子邮件支持:针对复杂技术问题提供详细解答
  • GitHub Issues:直接向开发团队报告 bug 或提出功能需求

我们的工程团队由日常使用 IronPDF 的开发者组成,因此您将获得切实可行、可付诸实践的解决方案。

有哪些许可和定价选项?

IronPDF 提供透明、开发者友好的许可:

  • 开发版免费:提供完整功能用于测试和开发,附带免费试用许可证
  • 生产版许可证:定价透明,无隐藏费用——请参阅许可页面
  • 免版税再分发:无需额外费用即可分发您的应用程序
  • 一年技术支持与更新:所有许可证均包含全面的技术支持

如何为 .NET 选择合适的 PDF 库?

IronPDF将.NET中的PDF生成从复杂的挑战转变为简单的过程。 有了它基于Chrome的渲染引擎,您可以获得像素完美的PDF,外观与您的HTML源完全相同。 直观的 API 意味着您只需几分钟(而非数小时)即可生成第一个 PDF 文件。

在评估 PDF 库时,请考虑以下因素:

  • 渲染保真度:IronPDF 采用真正的 Chrome 引擎,因此无需变通方案即可正确处理 CSS 和 JavaScript
  • 平台支持:同一套代码可在 Windows、Linux、macOS 以及 Docker 容器中运行
  • API 一致性:单一 API 即可处理 HTML 字符串、URL、本地文件,以及 PDF 转图像文本提取等高级操作
  • 文档与示例:IronPDF 文档包含适用于数百种场景的可运行代码示例

无论您是在构建发票系统、报表生成器、文档归档系统,还是任何需要生成 PDF 的应用程序,IronPDF 都能提供所需的工具。 立即申请免费试用许可证,亲身体验该库如何满足您的 PDF 生成需求。

常见问题解答

我如何使用C#创建PDF?

您可以通过利用IronPDF库使用C#创建PDF,只需几行代码即可将HTML内容转换为PDF文档。

使用 IronPDF 进行 PDF 生成的优势是什么?

IronPDF提供了一种简化的PDF生成方法,保证不需要学习复杂的API或面对JavaScript兼容性问题,同时确保HTML内容的像素完美渲染。

IronPDF易于集成到.NET项目中吗?

是的,IronPDF设计为易于集成到.NET项目中,使开发人员能够轻松创建干净、专业的PDF。

IronPDF支持HTML到PDF的转换吗?

IronPDF支持无缝地将HTML内容转换为PDF,允许开发人员在PDF格式中保持原始内容的完整性和布局。

IronPDF能够处理复杂的HTML内容吗?

IronPDF能够处理复杂的HTML内容,并确保在生成的PDF文档中准确再现源材料。

使用IronPDF时会有渲染问题吗?

IronPDF经过设计以避免渲染问题,提供可靠的解决方案以生成与原HTML内容精确匹配的PDF。

为何选择IronPDF而非其他PDF库?

IronPDF使用简便,代码要求最少,消除了处理复杂API或故障排除渲染问题的需要,对于开发人员来说是理想选择。

有哪些编程语言与IronPDF兼容?

IronPDF兼容C#,可用于各种.NET应用,使其成为PDF生成的多功能工具。

IronPDF适用于专业的PDF文档创建吗?

是的,IronPDF适用于创建专业的PDF文档,确保它们干净且准确反映源内容。

使用IronPDF将HTML转换为PDF需要多少行代码?

使用IronPDF,只需三行C#代码即可将HTML转换为PDF,使过程快速且高效。

.NET 10 支持:IronPDF 是否完全兼容 .NET 10?

是的,IronPDF 与 .NET 10 完全兼容——它在 .NET Framework、.NET Core、.NET 5-9 和 .NET 10 中使用相同的 API,使您无需更改代码即可部署到 Windows、Linux、macOS 和云平台。

Curtis Chau
技术作家

Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。

除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。

钢铁支援团队

我们每周 5 天,每天 24 小时在线。
聊天
电子邮件
打电话给我