跳至页脚内容
使用IRONPDF

如何使用 IronPDF 将 HTML 转换为 PDF

IronPDF 是一款 .NET HTML 转 PDF 转换器,它利用 Chrome 的渲染引擎,将 HTML 字符串、文件和网页转换为高质量的 PDF 文档,并支持精确的 CSS 渲染和 JavaScript 执行。

将 HTML 转换为 PDF 是 .NET 开发中长期存在的难题。 您需要一个既能处理现代 CSS 布局、正确执行 JavaScript,又能生成高质量文档,同时又易于集成的库。 IronPDF 通过基于 Chrome 的渲染技术解决了这些难题,让您能够以浏览器级别的保真度转换 HTML 文件、字符串和网页。 该库运行于 .NET 10 环境,支持 Windows、Linux、macOS 和 Azure 平台,且无需为每个平台单独配置渲染引擎。

本文介绍了如何实现 Professional PDF 生成,内容涵盖从基础转换到数字签名和密码保护等高级功能。 您将逐步了解安装、配置、核心转换方法以及部署注意事项。 每个章节均包含使用顶级语句编写的可运行 C# 代码,兼容 .NET 10 项目。

IronPDF C# PDF 库主页横幅展示了其主要功能,包括 HTML 转 PDF、PDF 编辑功能、灵活的部署选项以及免费试用。

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

PDF 库的选择会影响渲染质量、维护成本以及长期兼容性。 核心问题在于该库能否跟上现代网络的发展步伐。 CSS 网格、弹性盒模型、JavaScript 渲染的内容以及网络字体如今已成为行业标准——如果某个库无法可靠地处理这些内容,您将被迫采用预处理的变通方案,这不仅会拖慢开发进度,还会在 HTML 模板演进时引入脆弱性。

IronPDF 采用与 Google Chrome 相同的 Blink 引擎。 您的 PDF 文件将完全还原 Chrome 打印预览中的显示效果——不会缺失样式、不会破坏网格布局、也不会丢失自定义字体。 这种一致性消除了通常伴随其他 PDF 库出现的手动样式调试问题。 您可以将 Chrome 的渲染能力与旧版浏览器进行对比,以评估其对特定文档类型的渲染保真度。

现代 Web 应用程序依赖于复杂的 CSS 和 JavaScript。 IronPDF 原生支持 CSS3,包括弹性盒模型、网格系统、变换和动画。 该引擎会在捕获输出前处理 JavaScript,确保动态生成的内容在最终 PDF 中正确显示。 无论您是转换静态 HTML 文件,还是依赖客户端渲染的页面,该库都能捕获最终计算出的状态——而非中间快照。

ChromePdfRenderer 类公开了智能默认值,同时通过其 RenderingOptions 属性提供了细粒度的控制。 其集成路径比 QuestPDFSyncfusion 等替代方案更简便,后者在生成首份输出文档时都需要更多配置模板代码。

从长期维护的角度来看,基于 Chrome 的渲染机制意味着该库能够受益于浏览器的持续改进,而无需您手动更新引擎。 基于 WebKit 的旧版库具有固定的功能集,无法随 Web 平台的发展而扩展,这会导致前端模板采用新的 CSS 属性或 JavaScript 模式时产生兼容性债务。 对于已经熟悉 HTML 和 CSS 的团队而言,无需学习新的语言或布局模型——您只需像设计网页一样设计文档,然后将其渲染为 PDF 即可。

功能概览仪表板显示了四项主要的 PDF 功能:创建 PDF、转换 PDF、编辑 PDF 以及签名和保护 PDF,每个类别下都有详细的功能列表。

如何安装和配置该库?

通过 NuGet 安装

设置 IronPDF 只需几分钟。 请使用 Visual Studio 中的包管理器控制台或 .NET CLI:

Install-Package IronPdf
Install-Package IronPdf
SHELL
dotnet add package IronPdf
dotnet add package IronPdf
SHELL

这些命令将下载包及其依赖项,并自动配置项目引用。 该软件包包含在运行时自动加载的特定平台二进制文件,因此您无需单独管理原生库。 对于容器化环境,请参阅 Docker 部署高级安装选项

配置许可证密钥和全局设置

在调用任何 IronPDF 方法之前,请在 Program.cs 中配置许可证密钥和全局设置。 使用 .NET 10 顶级语句:

using IronPdf;

IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY")!;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.TempFolderPath = @"C:\Temp\IronPdf";
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Logging.LoggingMode = IronPdf.Logging.PdfLoggingModes.All;

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.Run();
using IronPdf;

IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY")!;
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled;
IronPdf.Installation.TempFolderPath = @"C:\Temp\IronPdf";
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = true;
IronPdf.Logging.LoggingMode = IronPdf.Logging.PdfLoggingModes.All;

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();
app.Run();
Imports IronPdf

IronPdf.License.LicenseKey = Environment.GetEnvironmentVariable("IRONPDF_LICENSE_KEY")
IronPdf.Installation.ChromeGpuMode = IronPdf.Engines.Chrome.ChromeGpuModes.Disabled
IronPdf.Installation.TempFolderPath = "C:\Temp\IronPdf"
IronPdf.Installation.LinuxAndDockerDependenciesAutoConfig = True
IronPdf.Logging.LoggingMode = IronPdf.Logging.PdfLoggingModes.All

Dim builder = WebApplication.CreateBuilder(args)
Dim app = builder.Build()
app.Run()
$vbLabelText   $csharpLabel

将密钥存储在环境变量中,可避免其进入源代码控制。 30天试用版提供完整功能供您评估。 有关所有配置选项(包括多租户场景下的运行时密钥切换)的详细信息,请参阅许可文档

如何将 HTML 字符串转换为 PDF?

进行基础转换

RenderHtmlAsPdf 方法接受一个 HTML 字符串,并返回一个 PdfDocument 对象,您可以保存、流式传输或进一步操作该对象。 这是通过服务器端模板生成发票、报告和信函的主要入口:

using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $99.99</p>");
pdf.SaveAs("invoice.pdf");

// Get binary data for an HTTP response or cloud storage
byte[] pdfBytes = pdf.BinaryData;
using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.MarginTop = 50;
renderer.RenderingOptions.MarginBottom = 50;
renderer.RenderingOptions.MarginLeft = 20;
renderer.RenderingOptions.MarginRight = 20;

var pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $99.99</p>");
pdf.SaveAs("invoice.pdf");

// Get binary data for an HTTP response or cloud storage
byte[] pdfBytes = pdf.BinaryData;
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

renderer.RenderingOptions.MarginTop = 50
renderer.RenderingOptions.MarginBottom = 50
renderer.RenderingOptions.MarginLeft = 20
renderer.RenderingOptions.MarginRight = 20

Dim pdf = renderer.RenderHtmlAsPdf("<h1>Invoice #12345</h1><p>Total: $99.99</p>")
pdf.SaveAs("invoice.pdf")

' Get binary data for an HTTP response or cloud storage
Dim pdfBytes As Byte() = pdf.BinaryData
$vbLabelText   $csharpLabel

译文包含可选中文本,以符合无障碍标准。 探索自定义页边距纸张尺寸选项,以根据您的设计调整输出尺寸。

PDF 查看器显示一张简单的发票,编号为 12345,总金额为 99.99 美元,缩放比例为 100%

应用 CSS 样式、Web 字体和外部资源

您可以将完整的样式表直接嵌入 HTML 字符串中。 IronPDF 在渲染之前处理 @import 规则和字体引用。 当您的 HTML 引用相对路径(本地样式表、图片或脚本)时,请提供一个基路径作为第二个参数,以便引擎能够解析它们:

using IronPdf;

var styledHtml = $@"
    <style>
        body {{ font-family: Arial, sans-serif; margin: 40px; line-height: 1.6; }}
        .header {{ color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 10px; }}
        .amount {{ font-size: 24px; font-weight: bold; color: #059669; }}
    </style>
    <div class='header'>
        <h1>Professional Invoice</h1>
        <p>Invoice Date: {DateTime.Now:MMMM dd, yyyy}</p>
    </div>
    <p class='amount'>$1,234.56</p>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500);

// Provide a base path if the HTML references local assets
var pdf = renderer.RenderHtmlAsPdf(styledHtml, @"C:\assets\");
pdf.SaveAs("styled-invoice.pdf");
using IronPdf;

var styledHtml = $@"
    <style>
        body {{ font-family: Arial, sans-serif; margin: 40px; line-height: 1.6; }}
        .header {{ color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 10px; }}
        .amount {{ font-size: 24px; font-weight: bold; color: #059669; }}
    </style>
    <div class='header'>
        <h1>Professional Invoice</h1>
        <p>Invoice Date: {DateTime.Now:MMMM dd, yyyy}</p>
    </div>
    <p class='amount'>$1,234.56</p>";

var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.WaitFor.RenderDelay(500);

// Provide a base path if the HTML references local assets
var pdf = renderer.RenderHtmlAsPdf(styledHtml, @"C:\assets\");
pdf.SaveAs("styled-invoice.pdf");
Imports IronPdf

Dim styledHtml As String = $"
    <style>
        body {{ font-family: Arial, sans-serif; margin: 40px; line-height: 1.6; }}
        .header {{ color: #2563eb; border-bottom: 2px solid #e5e7eb; padding-bottom: 10px; }}
        .amount {{ font-size: 24px; font-weight: bold; color: #059669; }}
    </style>
    <div class='header'>
        <h1>Professional Invoice</h1>
        <p>Invoice Date: {DateTime.Now:MMMM dd, yyyy}</p>
    </div>
    <p class='amount'>$1,234.56</p>"

Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.WaitFor.RenderDelay(500)

' Provide a base path if the HTML references local assets
Dim pdf = renderer.RenderHtmlAsPdf(styledHtml, "C:\assets\")
pdf.SaveAs("styled-invoice.pdf")
$vbLabelText   $csharpLabel

CSS 渲染效果与 Chrome 完全一致。 探索 Google Fonts 的渲染选项Web 字体支持,并支持自托管字体的集成。

! PDF 查看器显示 IronPDF for .NET 徽标(白色背景),显示第 1 页(共 1 页),缩放比例为 100%。

如何将 HTML 文件和实时 URL 转换为 PDF?

转换本地文件和网页

RenderHtmlFileAsPdf 方法读取本地文件,并自动解析相对于该文件目录的所有链接资源。 RenderUrlAsPdf 方法捕获公共或已验证的网页,执行 JavaScript 并等待内容加载完毕后再进行渲染:

using IronPdf;

// Convert a local HTML file
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

var filePdf = renderer.RenderHtmlFileAsPdf("complex-report.html");
filePdf.MetaData.Title = "Monthly Sales Report";
filePdf.SaveAs("report-output.pdf");

// Convert a live URL with authentication
var secureRenderer = new ChromePdfRenderer();
secureRenderer.LoginCredentials = new ChromeHttpLoginCredentials
{
    Username = "user@example.com",
    Password = "secure-password"
};
secureRenderer.RenderingOptions.WaitFor.NetworkIdle(500);

var urlPdf = secureRenderer.RenderUrlAsPdf("https://app.example.com/dashboard");
urlPdf.SaveAs("dashboard-snapshot.pdf");
using IronPdf;

// Convert a local HTML file
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;

var filePdf = renderer.RenderHtmlFileAsPdf("complex-report.html");
filePdf.MetaData.Title = "Monthly Sales Report";
filePdf.SaveAs("report-output.pdf");

// Convert a live URL with authentication
var secureRenderer = new ChromePdfRenderer();
secureRenderer.LoginCredentials = new ChromeHttpLoginCredentials
{
    Username = "user@example.com",
    Password = "secure-password"
};
secureRenderer.RenderingOptions.WaitFor.NetworkIdle(500);

var urlPdf = secureRenderer.RenderUrlAsPdf("https://app.example.com/dashboard");
urlPdf.SaveAs("dashboard-snapshot.pdf");
Imports IronPdf

' Convert a local HTML file
Dim renderer As New ChromePdfRenderer()
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PrintHtmlBackgrounds = True

Dim filePdf = renderer.RenderHtmlFileAsPdf("complex-report.html")
filePdf.MetaData.Title = "Monthly Sales Report"
filePdf.SaveAs("report-output.pdf")

' Convert a live URL with authentication
Dim secureRenderer As New ChromePdfRenderer()
secureRenderer.LoginCredentials = New ChromeHttpLoginCredentials With {
    .Username = "user@example.com",
    .Password = "secure-password"
}
secureRenderer.RenderingOptions.WaitFor.NetworkIdle(500)

Dim urlPdf = secureRenderer.RenderUrlAsPdf("https://app.example.com/dashboard")
urlPdf.SaveAs("dashboard-snapshot.pdf")
$vbLabelText   $csharpLabel

对于公开访问的页面,完全跳过 LoginCredentials 设置。 了解基于会话的网站中的身份验证Cookie 管理。 要正确捕获响应式布局,请使用 renderer.RenderingOptions.ViewPortWidth 配置视口宽度并查看视口文档

如何添加页眉、水印和安全设置?

添加Professional页眉和页脚

显示页码、日期或品牌标识的页眉和页脚,能显著提升多页文档的可读性与Professional度。 IronPDF 将其作为 HTML 片段进行处理,因此您可以使用完整的 CSS 样式,包括图片和品牌颜色:

using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 50,
    HtmlFragment = "<div style='text-align:center;font-size:12px;'>Annual Report 2025 -- Confidential</div>",
    BaseUrl = new Uri(@"file:///C:/assets/")
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 30,
    HtmlFragment = "<div style='text-align:center;font-size:10px;'>Page {page} of {total-pages}</div>",
    DrawDividerLine = true
};

renderer.RenderingOptions.MarginTop = 60;
renderer.RenderingOptions.MarginBottom = 40;

var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Body text here.</p>");
pdf.SaveAs("report-with-headers.pdf");
using IronPdf;

var renderer = new ChromePdfRenderer();

renderer.RenderingOptions.HtmlHeader = new HtmlHeaderFooter
{
    MaxHeight = 50,
    HtmlFragment = "<div style='text-align:center;font-size:12px;'>Annual Report 2025 -- Confidential</div>",
    BaseUrl = new Uri(@"file:///C:/assets/")
};

renderer.RenderingOptions.HtmlFooter = new HtmlHeaderFooter
{
    MaxHeight = 30,
    HtmlFragment = "<div style='text-align:center;font-size:10px;'>Page {page} of {total-pages}</div>",
    DrawDividerLine = true
};

renderer.RenderingOptions.MarginTop = 60;
renderer.RenderingOptions.MarginBottom = 40;

var pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Body text here.</p>");
pdf.SaveAs("report-with-headers.pdf");
Imports IronPdf

Dim renderer As New ChromePdfRenderer()

renderer.RenderingOptions.HtmlHeader = New HtmlHeaderFooter With {
    .MaxHeight = 50,
    .HtmlFragment = "<div style='text-align:center;font-size:12px;'>Annual Report 2025 -- Confidential</div>",
    .BaseUrl = New Uri("file:///C:/assets/")
}

renderer.RenderingOptions.HtmlFooter = New HtmlHeaderFooter With {
    .MaxHeight = 30,
    .HtmlFragment = "<div style='text-align:center;font-size:10px;'>Page {page} of {total-pages}</div>",
    .DrawDividerLine = True
}

renderer.RenderingOptions.MarginTop = 60
renderer.RenderingOptions.MarginBottom = 40

Dim pdf = renderer.RenderHtmlAsPdf("<h1>Report Content</h1><p>Body text here.</p>")
pdf.SaveAs("report-with-headers.pdf")
$vbLabelText   $csharpLabel

类似 {page}{total-pages} 的占位符会在渲染时自动替换。请参阅页眉和页脚教程,了解动态日期插入、徽标放置和交替页面样式等功能。

应用水印、加密和数字签名

水印可保护草稿文档和机密报告。 密码保护和权限设置可限制哪些用户可以打印、复制或编辑 PDF。 数字签名可为合同和受监管文件增添一层可验证的真实性保障。 您可以将这三者整合到一个工作流中:

using IronPdf;
using System.安全.Cryptography.X509Certificates;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1><p>Terms and conditions.</p>");

// Watermark
pdf.ApplyWatermark(
    "<div style='font-size:72px;color:red;opacity:0.3;'>DRAFT</div>",
    rotation: 45,
    opacity: 30
);

// Encryption and permissions
pdf.安全Settings.UserPassword = "user123";
pdf.安全Settings.OwnerPassword = "owner456";
pdf.安全Settings.AllowUserPrinting = IronPdf.安全.PdfPrint安全.NoPrint;
pdf.安全Settings.AllowUserCopyPasteContent = false;

// Digital signature
var cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password");
var signature = new PdfSignature(cert)
{
    SigningContact = "Jane Smith",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval"
};
pdf.Sign(signature);
pdf.SaveAsRevision("signed-contract.pdf");
using IronPdf;
using System.安全.Cryptography.X509Certificates;

var renderer = new ChromePdfRenderer();
var pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1><p>Terms and conditions.</p>");

// Watermark
pdf.ApplyWatermark(
    "<div style='font-size:72px;color:red;opacity:0.3;'>DRAFT</div>",
    rotation: 45,
    opacity: 30
);

// Encryption and permissions
pdf.安全Settings.UserPassword = "user123";
pdf.安全Settings.OwnerPassword = "owner456";
pdf.安全Settings.AllowUserPrinting = IronPdf.安全.PdfPrint安全.NoPrint;
pdf.安全Settings.AllowUserCopyPasteContent = false;

// Digital signature
var cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password");
var signature = new PdfSignature(cert)
{
    SigningContact = "Jane Smith",
    SigningLocation = "New York, NY",
    SigningReason = "Contract Approval"
};
pdf.Sign(signature);
pdf.SaveAsRevision("signed-contract.pdf");
Imports IronPdf
Imports System.Security.Cryptography.X509Certificates

Dim renderer As New ChromePdfRenderer()
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Contract Agreement</h1><p>Terms and conditions.</p>")

' Watermark
pdf.ApplyWatermark(
    "<div style='font-size:72px;color:red;opacity:0.3;'>DRAFT</div>",
    rotation:=45,
    opacity:=30
)

' Encryption and permissions
pdf.SecuritySettings.UserPassword = "user123"
pdf.SecuritySettings.OwnerPassword = "owner456"
pdf.SecuritySettings.AllowUserPrinting = IronPdf.Security.PdfPrintSecurity.NoPrint
pdf.SecuritySettings.AllowUserCopyPasteContent = False

' Digital signature
Dim cert = X509CertificateLoader.LoadPkcs12FromFile("certificate.pfx", "password")
Dim signature As New PdfSignature(cert) With {
    .SigningContact = "Jane Smith",
    .SigningLocation = "New York, NY",
    .SigningReason = "Contract Approval"
}
pdf.Sign(signature)
pdf.SaveAsRevision("signed-contract.pdf")
$vbLabelText   $csharpLabel

了解水印技术PDF 安全设置以及基于证书的签名(包括硬件安全模块 (HSM) 的集成)。

如何在 Windows、Linux 和 Azure 上进行部署?

IronPDF 支持 Windows、Linux 和 macOS 系统,NuGet 包中包含各平台的专用二进制文件。 输出在各平台上完全一致,因此您可以在 Windows 上开发,并部署到 Linux 容器中,而无需更改渲染代码。 该软件包会自动检测运行时环境,并加载相应的原生组件。 这种跨平台的一致性简化了 CI/CD 管道——您无需为每个环境单独配置渲染设置。

在 Azure 应用服务中,将许可证密钥存储在应用程序设置中,并通过 Environment.GetEnvironmentVariable 引用它。 这种方法可避免凭据出现在代码仓库中,并支持在不部署代码的情况下进行密钥轮换。 有关托管特定设置,请参阅完整的 Azure 部署指南;有关传统 Windows 服务器托管,请参阅 IIS 部署指南

在 Linux 和 Docker 环境中,Chrome 渲染引擎需要额外的系统依赖项。 将其添加到您的 Dockerfile 中:

FROM mcr.microsoft.com/dotnet/aspnet:10.0
RUN apt-get update && apt-get install -y \
    libgdiplus libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 \
    && apt-get clean
WORKDIR /app
COPY . .
ENTRYPOINT ["dotnet", "MyApp.dll"]

LinuxAndDockerDependenciesAutoConfig 设置为 true 时,IronPDF 会在首次运行时自动处理依赖关系解析。 完整的依赖项列表请参阅 Linux 部署指南Docker 集成指南。 对于无服务器工作负载,Azure Functions 指南涵盖了内存和超时配置。

如何探索完整的功能集?

除了 HTML 转换外,IronPDF 还涵盖了完整的 PDF 工作流。 下表总结了主要功能领域:

IronPDF 功能领域
翻译类别功能文档
文档创建页眉、页脚、可填写表单、背景表单指南
安全数字签名、加密、数据净化签名指南
文档管理合并、拆分、压缩、PDF/A 兼容性合并指南
内容处理加水印、JavaScript 执行、异步操作标记指南

如需完整的方法参考,请查阅 API 文档代码示例库,其中包含针对每个功能领域的可运行 C# 项目。 教程部分提供了针对常见场景(如发票生成、报表自动化和文档归档)的分步指导。

接下来该如何开始?

IronPDF 将 HTML 到 PDF 的转换简化为三步工作流程:从NuGet安装软件包,配置许可证密钥,然后调用 RenderHtmlAsPdf。 Chrome 引擎确保渲染准确无误,而 API 设计使得集成过程简单直观,即使面对带有自定义页眉、水印和数字签名的复杂多页文档也是如此。

30天试用版提供完整访问权限,无任何功能限制。 当您准备投入生产环境时,灵活的许可方案可满足从个人开发者到有批量需求的企业团队的各种规模需求。 您还可以查阅 Microsoft .NET 文档,了解该生态系统中文档生成模式的背景信息;同时查阅官方 PDF 规范,以更深入地理解该格式的功能与限制。

IronPDF 许可页面显示了四个永久许可级别(Lite、Plus、Professional 和 Unlimited),并针对不同团队规模提供了定价和功能。

请查阅更新日志,了解最新功能,并规划哪些功能符合您的项目需求。

常见问题解答

IronPDF 有什么用途?

IronPDF 用于在 .NET 应用程序中将 HTML 转换为 PDF。它支持现代 CSS 和 JavaScript,并能生成高质量的 PDF 文档。

IronPDF 如何处理复杂的 HTML 布局?

IronPDF 使用基于 Chrome 的渲染引擎来精确处理复杂的 HTML 布局,确保 PDF 输出与您在浏览器中看到的内容一致。

IronPDF 能否在 PDF 转换过程中执行 JavaScript?

是的,IronPDF 可以执行 JavaScript,这对于在 PDF 输出中准确渲染动态内容至关重要。

IronPDF 在 .NET 应用程序中容易实现吗?

IronPDF 的设计宗旨是易于实现和部署,使使用 .NET 的开发人员能够轻松上手。

IronPDF 可以将哪些类型的 HTML 源转换为 PDF?

IronPDF 可以将 HTML 文件、HTML 字符串和整个网页转换为 PDF 格式。

IronPDF能否在PDF中保持原始HTML的质量?

是的,IronPDF 可以生成高质量的 PDF 文档,其保真度与原始 HTML 内容相同。

IronPDF 与其他 PDF 转换器有何不同?

IronPDF 采用基于 Chrome 的渲染引擎,提供无缝的转换体验,确保与现代 Web 标准兼容。

Curtis Chau
技术作家

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

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

钢铁支援团队

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