How to Convert HTML String to PDF in C#

Curtis Chau
Curtis Chau
Updated: 2026年6月4日

IronPDF 使用 Chrome 浏览器渲染引擎,用 C# 将 HTML 字符串转换为 PDF 文档,支持所有 HTML5、CSS3 和 JavaScript 内容,只需一行代码即可完成基本转换。 该库为 创建 PDF 提供了强大的功能,同时保持了完美的渲染保真度。

IronPDF允许开发者在.NET Core和.NET Framework的C#、F#和VB.NET中轻松创建PDF文档。 IronPDF 支持将任何 HTML 字符串渲染为 PDF,渲染过程使用功能齐全的谷歌 Chromium 引擎版本。这确保了 HTML 内容在现代网络浏览器中的显示效果,使其成为从动态 HTML 内容生成报告、发票和文档的理想选择。

快速入门:几秒钟内将 HTML 字符串转换为 PDF

using IronPDF 将 HTML 字符串转换为 PDF 文件。 本指南演示了如何用最少的代码在 C# 中将 HTML 字符串转换为 PDF 文档。 非常适合需要将 PDF 渲染功能集成到其项目中的开发人员。

  1. 1Install IronPDF with NuGet Package Manager

    PM > Install-Package IronPdf

  2. 2复制并运行这段代码。

    IronPdf.ChromePdfRenderer.StaticRenderHtmlAsPdf("<p>Hello World</p>").SaveAs("string-to-pdf.pdf");
  3. 3部署到您的生产环境中进行测试

    通过免费试用立即在您的项目中开始使用IronPDF
    arrow pointer

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

这是IronPDF使用RenderHtmlAsPdf方法将HTML字符串渲染为PDF的示例。 参数是要渲染为PDF的HTML字符串。 这是ChromePdfRenderer类的一部分,它提供了对您的PDF生成需求的渲染选项的广泛控制。

using IronPdf;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Create a PDF from a HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

// Export to a file or Stream
pdf.SaveAs("output.pdf");

PdfDocument对象,其中包含PDF信息并提供操纵PDF的方法,包括合并PDFs、添加水印和设置安全选项。

提示: 在ASP.NET Core、Blazor或后台服务中,偏好异步变体RenderHtmlAsPdfAsync以避免阻塞线程。 using块中。 ChromePdfRenderer是线程安全的,可以在请求之间实例化一次并重用以获得更好的性能。)]

当HTML字符串来自外部来源且需要禁用本地磁盘访问或跨域请求时,在渲染之前将IronPdf.Installation.EnableWebSecurity设置为true。 这是一个静态全局设置,而非渲染器上的实例属性。

// Enable web security before rendering untrusted HTML
IronPdf.Installation.EnableWebSecurity = true;

对于包含 CSS 样式的复杂 HTML 内容,请使用 Base URLs & Asset Encoding 功能通过内联样式或引用外部样式表来增强 HTML 字符串:

// Example with inline CSS
var styledHtml = @"
<html>
<head>
    <style>
        body { font-family: Arial, sans-serif; margin: 40px; }
        h1 { color: #333; border-bottom: 2px solid #0066cc; }
        p { line-height: 1.6; }
    </style>
</head>
<body>
    <h1>Professional Report</h1>
    <p>This PDF was generated from HTML with custom styling.</p>
</body>
</html>";

using var styledPdf = renderer.RenderHtmlAsPdf(styledHtml);
styledPdf.SaveAs("styled-output.pdf");

生成的 PDF 看起来像什么?

这是代码生成的文件:

生成的 PDF 将保持 HTML 的准确格式和样式,因此非常适合 生成 PDF 报告或将网页内容转换为可打印的文档。

我最喜欢的这种库是 IronPDF。它允许快速高效地操作 PDF 文件。它还具有许多有价值的功能,比如导出为 PDF/A 格式和数字签名 PDF 文档。

Milan Jovanovic

微软MVP

查看案例研究

IronOCR 意味着我们每年可以节省 $40,000 的人工处理成本,同时提高生产力,并释放资源用于高影响任务。我强烈推荐它。

Brent Matzelle

首席技术官,OPYN

查看案例研究

在将 HTML 转换为 PDF 时如何包含外部资产?

本例显示 IronPDF 从可选的 BasePath 加载外部图像资产。 设置BaseUrlOrPath属性允许为超链接、图像、CSS和JavaScript文件提供相对文件路径或URL上下文。 这在处理 PDF 中的图片或需要引用外部资源时尤为重要。

using IronPdf;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();

// Advanced Example with HTML Assets
// Load external html assets: Images, CSS and JavaScript.
// An optional BasePath 'C:\site\assets\' is set as the file location to load assets from
var myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", @"C:\site\assets\");
myAdvancedPdf.SaveAs("html-with-assets.pdf");

对于涉及复杂布局或动态内容的高级场景,请利用 IronPDF 对 JavaScript 渲染的支持:

// Example with JavaScript-generated content
var jsHtml = @"
<html>
<head>
    <script>
        window.onload = function() {
            document.getElementById('dynamic').innerHTML = 
                'Generated on: ' + new Date().toLocaleString();
        };
    </script>
</head>
<body>
    <h1>Dynamic Content Example</h1>
    <div id='dynamic'></div>
</body>
</html>";

// Configure rendering to wait for JavaScript execution
renderer.RenderingOptions.WaitFor.RenderDelay(500); // milliseconds
using var dynamicPdf = renderer.RenderHtmlAsPdf(jsHtml, @"C:\site\");
dynamicPdf.SaveAs("dynamic-content.pdf");

在处理外部资产时,您可能需要处理身份验证或特殊标头。 IronPDF 通过 HTTP Request Header 功能提供支持,允许您在获取资源时包含授权令牌或自定义标头。

为什么设置 BasePath 对于外部资源很重要?

这是代码生成的文件:

正确设置BasePath可确保HTML中的所有相对引用都能得到正确解决。 没有它,IronPDF 就无法定位图片、样式表或脚本等外部资源。这一点在以下情况下尤为重要

  1. 转换引用本地文件系统资源的HTML
  2. 使用相对URL的内容管理系统工作
  3. 将现有网络内容迁移到PDF格式
  4. 创建使用共享资产的模板

对于基于网络的资源,请使用完整的 URL 作为基本路径:

// Using a web URL as base path
var webBasedPdf = renderer.RenderHtmlAsPdf(
    "<link rel='stylesheet' href='/styles/main.css'><h1>Web Content</h1>", 
    "https://mywebsite.com"
);

如需对 PDF 生成过程进行更多控制,请浏览 IronPDF 有关 自定义页边距、页面方向 和 PDF压缩 的大量文档,以便针对各种使用情况优化您的输出文件。

常见问题解答

如何用 C# 将简单的 HTML 字符串转换为 PDF?

您可以使用 IronPDF 的 ChromePdfRenderer 类中的 RenderHtmlAsPdf 方法将 HTML 字符串转换为 PDF。只需实例化渲染器,将 HTML 字符串传递给该方法,然后保存生成的 PdfDocument 对象即可。IronPDF 使用 Chrome 浏览器渲染引擎,以确保完美的保真度。

HTML 到 PDF 的转换使用什么渲染引擎?

IronPDF 使用功能齐全的 Google Chromium 引擎版本将 HTML 渲染为 PDF。这可确保您的 HTML 内容(包括 HTML5、CSS3 和 JavaScript)在现代网络浏览器中的显示效果完全一致。

我能否将带有 CSS 样式的 HTML 转换为 PDF?

是的,IronPDF 支持将带有 CSS 样式的 HTML 转换为 PDF。您可以直接在 HTML 字符串中使用内联样式,或使用基础 URL 和资产编码功能引用外部样式表,以确保样式内容的正确呈现。

将 HTML 转换为 PDF 的最快方法是什么?

最快捷的方法是使用 IronPDF 的静态方法:IronPdf.ChromePdfRenderer.StaticRenderHtmlAsPdf("Your HTML").SaveAs("output.pdf").这一行代码就能转换 HTML 字符串并将其保存为 PDF 文件。

转换 HTML 字符串时如何处理外部资产?

IronPDF 允许您为 PDF 中的外部资产配置 BasePath。这可确保在转换过程中正确加载 HTML 中引用的图片、样式表和其他资源。

从 HTML 转换为 PDF 时,能否自定义 PDF 输出?

是的,IronPDF 提供了广泛的 RenderingOptions(渲染选项),可对 PDF 输出进行微调。您可以通过 ChromePdfRenderer 类控制页面大小、页边距、页眉、页脚以及生成的 PDF 的许多其他方面。

转换后生成的 PDF 有哪些用途?

IronPDF 的 PdfDocument 对象提供了大量 PDF 操作方法,包括合并 PDF、添加水印、设置安全选项等。转换后的 PDF 可保存到磁盘、流式传输或根据需要进一步处理。

从外部资源转换 HTML 时如何处理安全性问题?

从外部资源转换 HTML 时,IronPDF 允许您将 ChromePdfRenderer 上的 EnableWebSecurity 属性设置为 true。这将禁止本地磁盘访问和跨源请求,从而增强安全性。

How can I ensure my external web resources are correctly referenced in IronPDF?

To ensure external web resources are correctly referenced, specify the correct BasePath or use a full URL as the base path for web-based content. This includes images, stylesheets, and scripts.

What is the role of `ChromePdfRenderer` in IronPDF?

The ChromePdfRenderer in IronPDF is responsible for converting HTML to PDF. It uses a fully functional version of the Google Chromium engine to ensure accurate rendering as seen in a web browser.

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

阅读更多

准备开始了吗?

Nuget Downloads 21,916,531版本:2026.11刚刚发布