IRONSOFTWAREHOME

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");
    C#
  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

查看案例研究

Iron Suite 在我们的运营中起着至关重要的作用。这些工具提高了业务各方面的效率,包括创建平面图和改善库存管理。

David Jones

首席软件工程师,Agorus Build

查看案例研究

在将 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
技术作家

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

...
阅读更多

准备开始了吗?

Nuget Downloads 21,105,021版本:2026.9刚刚发布

免费获取

30天试用密钥 即刻获取。

bullet_checked无需信用卡或创建账户
bullet_test在生产环境中测试
且无水印
bullet_calendar30天完全
功能性产品
bullet_support试用期间提供
24/5技术支持
立即获取您的免费30 天试用密钥
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索 “IronPDF”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

或在此处下载 Windows 安装程序。

  1. 下载并解压 IronPDF 到您的解决方案目录中的 ~/Libs 之类的位置
  2. 在 Visual Studio 解决方案资源管理器中,右键点击引用。选择浏览,“IronPDF.dll”

$999

Key in blue circle

立即获取免费的 30 天试用版密钥

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

OR
bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索 “IronPDF”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

或在此处下载 Windows 安装程序。

  1. 下载并解压 IronPDF 到您的解决方案目录中的 ~/Libs 之类的位置
  2. 在 Visual Studio 解决方案资源管理器中,右键点击引用。选择浏览,“IronPDF.dll”

$999