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

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

IronPDF使C#开发人员可以通过使用PdfDocument构造函数为空白PDF、从各种来源导入现有PDF,或将HTML、图像、RTF、Markdown和XML转换为PDF格式来编程创建新的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

:path=/static-assets/pdf/content-code-examples/how-to/create-new-pdfs-1.cs
// 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");
Imports IronPdf

' 1. Install IronPDF from NuGet
' 2. Create a blank PDF
Dim pdf As New PdfDocument(270, 270)

' 3. Or convert HTML to PDF
Dim renderer As New ChromePdfRenderer()
Dim pdfFromHtml As 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 的宽度和高度。 此PdfDocument构造函数创建了一个新的空白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 后,您可以通过添加页眉和页脚应用水印插入图片来增强其效果。


Icon Quote related to 在不同配置下对 PDF 生成进行性能测试

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

Milan Jovanovic related to 在不同配置下对 PDF 生成进行性能测试

Milan Jovanovic

微软MVP

查看案例研究
Icon Quote related to 在不同配置下对 PDF 生成进行性能测试

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

Brent Matzelle related to 在不同配置下对 PDF 生成进行性能测试

Brent Matzelle

首席技术官,OPYN

查看案例研究
Icon Quote related to 在不同配置下对 PDF 生成进行性能测试

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

David Jones related to 在不同配置下对 PDF 生成进行性能测试

David Jones

首席软件工程师,Agorus Build

查看案例研究

如何从文件导入 PDF?

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

在处理存储在云服务中的 PDF 时,IronPDF 与 Azure Blob Storage 和其他云平台集成。 您可以从内存流加载 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 框架在内的现代网络标准,因此适合将复杂的网页或 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 代码通过验证工具进行检查。

哪些格式可转换为 PDF?

IronPDF 支持多种格式的转换:

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

对于高级应用场景,可探讨 渲染 WebGL 站点、处理 JavaScript 延迟,或实施 自定义日志以排除转换问题。

常见问题解答

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

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

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

using 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('<h1>Hello PDF!</h1>')。这支持完整的HTML5、CSS3和JavaScript渲染。

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

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

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

using 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 文档中添加多页?

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

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

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

Curtis Chau
技术作家

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

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

准备开始了吗?
Nuget 下载 19,936,792 | 版本: 2026.7 刚刚发布
Still Scrolling Icon

还在滚动吗?

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