如何使用IronPDF在 C# 中创建新的 PDF 文件

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF使 C# 开发人员能够通过编程方式创建新的 PDF 文档,使用 PdfDocument 构造函数创建空白 PDF,从各种来源导入现有 PDF,或将 HTML、图像、RTF、Markdown 和 XML 转换为 PDF 格式。 无论是构建业务报告、生成发票,还是从 Web 内容创建动态文档, IronPDF为.NET应用程序提供了 PDF 生成工具。

请注意上次在 AMD Ryzen 7 5800U 工作站(8 核/16 线程,16 GB 内存,Windows 11, .NET 8, IronPDF 2025.12.2)上验证。 PdfDocument 构造函数 API 在受支持的运行时(.NET Framework 4.6.2+、. .NET Core 3.1+、. .NET 5 及更高版本)中保持一致,但旧版本运行时的性能会与以下基准测试有所不同。

快速入门:用 C# 创建你的第一个 PDF

// 1. Install IronPDF from NuGet
// 2. Create a blank PDF
var pdf = new IronPdf.PdfDocument(270, 270);

// 3. Or convert HTML to PDF
var renderer = new IronPdf.ChromePdfRenderer();
var pdfFromHtml = renderer.RenderHtmlAsPdf("<h1>Hello PDF!</h1>");

// 4. Save your PDF
pdf.SaveAs("myNewPdf.pdf");
// 1. Install IronPDF from NuGet
// 2. Create a blank PDF
var pdf = new IronPdf.PdfDocument(270, 270);

// 3. Or convert HTML to PDF
var renderer = new IronPdf.ChromePdfRenderer();
var pdfFromHtml = renderer.RenderHtmlAsPdf("<h1>Hello PDF!</h1>");

// 4. Save your PDF
pdf.SaveAs("myNewPdf.pdf");
' 1. Install IronPDF from NuGet
' 2. Create a blank PDF
Dim pdf As New IronPdf.PdfDocument(270, 270)

' 3. Or convert HTML to PDF
Dim renderer As New IronPdf.ChromePdfRenderer()
Dim pdfFromHtml As IronPdf.PdfDocument = renderer.RenderHtmlAsPdf("<h1>Hello PDF!</h1>")

' 4. Save your PDF
pdf.SaveAs("myNewPdf.pdf")
$vbLabelText   $csharpLabel
  1. 使用 NuGet 包管理器安装 https://www.nuget.org/packages/IronPdf

    PM > Install-Package IronPdf
  2. 复制并运行这段代码。

    new IronPdf.PdfDocument { DefaultPageSize = new IronPdf.PageSize(270,270) }.SaveAs("blankPage.pdf");
  3. 部署到您的生产环境中进行测试

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

    arrow pointer


如何创建空白PDF示例?

创建 PDF 对象的方法有很多种。 首先从最简单的方法入手,这种方法只需要 PDF 的宽度和高度。 此构造函数创建一个新的空白 PDF,可供自定义和使用。 尺寸以点(1/72 英寸)为单位,可针对标签、名片或自定义文档格式等各种应用进行精确尺寸调整。

对于需要更好地控制页面尺寸的开发人员, IronPDF支持自定义纸张尺寸和各种预定义格式,包括 Letter、A4 和 Legal 尺寸。 您可以使用页面方向功能设置不同的方向。

空白PDF需要哪些参数?

:path=/static-assets/pdf/content-code-examples/how-to/create-new-pdfs.cs
using IronPdf;

PdfDocument pdf = new PdfDocument(270, 270);

pdf.SaveAs("blankPage.pdf");
Imports IronPdf

Dim pdf As New PdfDocument(270, 270)

pdf.SaveAs("blankPage.pdf")
$vbLabelText   $csharpLabel

对各种配置下的 PDF 创建进行基准测试

指标 空白A4纸 A4 + 元数据 A4(10页) 自定义(270×270)
平均创建时间 266.6毫秒 279.4毫秒 287.2毫秒 262.4毫秒 280.6毫秒
输出文件大小 0.60 KB 3.82 KB 1.79 KB 0.60 KB 0.60 KB
每次调用内存 1.62 MB 1.61 MB 1.64 MB 1.61 MB 1.62 MB
生成的页面 1 1 10 1 1

请注意上表显示了当您改变页面尺寸、添加元数据或合并多个空白页面时,代码片段的性能。 每个变体都在其自身的进程中运行; 数值取自预热后 5 次迭代的平均值。

从这些基准测试中可以合理推断,在所有测试版本中,平均创建时间保持在 260-290 毫秒以内。 创建空白 PDF 后,您可以通过添加页眉和页脚应用水印插入图像来增强它。


如何从文件中导入PDF?

在修改或转换 PDF 文件之前,必须先将其作为 PdfDocument 对象导入。 使用 FromFile 类的静态方法来实现此目的。 同一类支持从 JSON、字节数组、流和 URL 导入 PDF。 这种灵活性适用于需要合并多个 PDF 、提取特定页面或修改现有文档的场景。

当处理存储在云服务中的 PDF 文件时, IronPDF可以与Azure Blob 存储和其他云平台集成。 您可以从内存流加载 PDF 文件,无需访问文件系统即可进行高效处理。

有哪些导入方式可供选择?

:path=/static-assets/pdf/content-code-examples/how-to/create-new-pdfs-from-file.cs
using IronPdf;

PdfDocument pdf = PdfDocument.FromFile("sample.pdf");

pdf.SaveAs("export.pdf");
Imports IronPdf

Private pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")

pdf.SaveAs("export.pdf")
$vbLabelText   $csharpLabel

导入后,您可以执行各种操作,例如提取文本和图像添加注释应用数字签名


如何从其他格式转换?

除了前面提到的获取 PdfDocument 对象的方法外,您还可以将各种格式转换为 PDF。 最复杂的方法是将 HTML 转换为 PDF,它会使用 Chrome 引擎渲染 HTML 及其所有资源,包括JavaScript、图像、链接和 CSS 样式。除了 HTML,您还可以将其他格式转换为 PDF,例如图像、RTF、Markdown 和 XML。

IronPDF 的Chrome 渲染引擎可确保像素级完美转换,保持源内容的视觉保真度。 该渲染器支持包括 HTML5、CSS3 和JavaScript框架在内的现代 Web 标准,使其适用于将复杂的网页或Razor视图转换为 PDF。

以下代码片段演示了如何将 HTML 转换为 PDF。 HTML 转换使用 IronPDF 的渲染引擎来保持内容完整性,并应用所有样式。 您还可以将Markdown 转换为 PDF将 XML 转换为 PDF ,以及将图像转换为 PDF

我应该配置哪些渲染选项?

:path=/static-assets/pdf/content-code-examples/how-to/create-new-pdfs-from-html.cs
using IronPdf;

// Instantiate Renderer
var renderer = new ChromePdfRenderer();
renderer.RenderingOptions.EnableJavaScript = true;
renderer.RenderingOptions.PrintHtmlBackgrounds = true;
renderer.RenderingOptions.PaperFit.UseResponsiveCssRendering(1800);
renderer.RenderingOptions.WaitFor.RenderDelay(5000);
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print;

// Create a PDF from a URL or local file path
var pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/");

// Export to a file or Stream
pdf.SaveAs("url.pdf");
Imports IronPdf

' Instantiate Renderer
Private renderer = New ChromePdfRenderer()
renderer.RenderingOptions.EnableJavaScript = True
renderer.RenderingOptions.PrintHtmlBackgrounds = True
renderer.RenderingOptions.PaperFit.UseResponsiveCssRendering(1800)
renderer.RenderingOptions.WaitFor.RenderDelay(5000)
renderer.RenderingOptions.CssMediaType = IronPdf.Rendering.PdfCssMediaType.Print

' Create a PDF from a URL or local file path
Dim pdf = renderer.RenderUrlAsPdf("https://ironpdf.com/")

' Export to a file or Stream
pdf.SaveAs("url.pdf")
$vbLabelText   $csharpLabel

警告需要注意的一点:在源代码中坚持使用现代 HTML5。 我尝试重用从一些旧静态网站和老旧的 gist 中提取的标记,但语法不匹配确实导致布局故障,不仅在IronPDF中,而且在我尝试过的每个基于 Chromium 的渲染器中都是如此。 如果出现渲染异常,请先使用 HTML 验证器检查 HTML。

哪些格式可以转换为PDF?

IronPDF支持多种格式的转换:

生成的 PDF 文件可以使用嵌入式 PDF 查看器查看,如下图所示。 下面的 iframe 会显示输出的 PDF 文件。

对于高级场景,可以探索渲染 WebGL 网站、处理JavaScript延迟或实现自定义日志记录以排查转换问题。

常见问题解答

如何安装库以开始用 C# 创建 PDF?

通过 Visual Studio 中的 NuGet 包管理器安装 IronPDF。您可以在 NuGet 包管理器界面中搜索“IronPDF”,或使用包管理器控制台输入命令“Install-Package IronPdf”进行安装。安装完成后,您可以立即使用 PdfDocument 构造函数或 ChromePdfRenderer 类开始创建 PDF 文件。

创建空白 PDF 文档的最快方法是什么?

使用 IronPDF 创建空白 PDF 的最快方法是使用带有宽度和高度参数的 PdfDocument 构造函数:new IronPdf.PdfDocument(270, 270).SaveAs('blank.pdf')。尺寸以点(1/72 英寸)为单位指定。您还可以设置自定义页面尺寸、方向,并添加作者和标题等元数据。

我能否将 HTML 内容转换为 PDF 格式?

是的,IronPDF在HTML到PDF转换方面表现出色,使用ChromePdfRenderer类。只需创建一个渲染器实例并使用RenderHtmlAsPdf()方法:var renderer = new IronPdf.ChromePdfRenderer(); var pdf = renderer.RenderHtmlAsPdf('

Hello PDF!

')。这支持完整的HTML5、CSS3和JavaScript渲染。

哪些文件格式可以转换为 PDF?

IronPDF 支持将多种格式转换为 PDF,包括 HTML、图像(JPG、PNG、GIF、BMP)、RTF 文档、Markdown 文件和 XML。每种格式都有特定的转换方法——例如,使用 RenderHtmlAsPdf() 处理 HTML,使用 ImageToPdf() 处理图像,以及针对其他格式的专用渲染器。

如何在 PDF 文档中添加自定义元数据?

使用 IronPDF 创建 PDFDocument 对象后,可通过访问 MetaData 属性设置自定义信息:pdf.MetaData.Author = '您的姓名'; pdf.MetaData.Title = '文档标题'; pdf.MetaData.CreationDate = DateTime.Now。这些元数据有助于文档的整理和检索。

我可以从不同来源导入现有的 PDF 文件吗?

IronPDF 支持从多种来源导入现有 PDF 文件,包括本地文件、URL、字节数组或 JSON 数据。对于本地文件,请使用 PdfDocument.FromFile();对于基于 Web 的 PDF,请使用 FromUrl();对于字节数组数据,请使用 FromBytes()。这使您能够处理和修改现有的 PDF 文档。

如何在 PDF 文档中添加多页?

使用 PdfDocument 对象上的 AppendPage() 方法可动态添加空白页。IronPDF 还支持在特定位置插入页面、从其他 PDF 中复制页面,以及合并多个 PDF 文档。除非另有指定,否则每个新页面都会继承默认页面大小。

支持哪些页面尺寸和方向?

IronPDF 支持以点为单位指定的自定义纸张尺寸,以及 Letter、A4 和 Legal 等预定义格式。您可以设置页面方向(纵向或横向),并创建混合页面尺寸的文档。自定义尺寸可让您精确控制标签或名片等特殊应用。

Curtis Chau
技术作家

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

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

准备开始了吗?
Nuget 下载 19,014,616 | 版本: 2026.5 just released
Still Scrolling Icon

还在滚动吗?

想快速获得证据? PM > Install-Package IronPdf
运行示例看着你的HTML代码变成PDF文件。