
如何将 PDF 保存为图像文件
利用 iText 和IronPDF在 C# 中创建 PDF 的比较指南
在 C# 中以编程方式生成 PDF 文档通常需要在逐元素构建文档的库和直接将 HTML 渲染为 PDF 的库之间进行选择。 这种架构划分决定了你的团队需要编写多少样板代码以及有哪些合规途径可供选择。
此比较涵盖iText和IronPDF在 PDF 创建模型、HTML 转换、数字签名、合规标准和许可上的区别——并提供代码示例。 PDF文件格式是由Adobe公司创建的; 有关该格式的背景信息,请访问Adobe Create PDF 。
下表列出了本次比较中涉及的主要差异:
| 特征 |iText / iText|IronPDF| |---|---|---| | PDF 创建模型 | 程序元素构建 | 通过嵌入式 Chromium 引擎将 HTML 转换为 PDF | | HTML 转 PDF | 需要单独的pdfHTML插件 | 内置的单个 NuGet 包 | | PDF/A 和 PDF/UA 合规性 |支持|支持| |数字签名|支持|支持| | 交互式表单 |支持|支持| | 水印和注释 |支持|支持| |跨平台(.NET Core)| 支持 (iText+)|支持| | 许可 | AGPL 或商业许可 | 商业广告,提供 30 天免费试用期 |
要在您自己的项目中测试IronPDF的HTML到PDF工作流与iText的编程模型,免费30天试用涵盖本次对比中的所有功能。
什么是iText?
iText,于2009年12月推出,作为广泛采用的.NET PDF库取代其前身iText 2。作为iText的.NET版本,它为高级可编程PDF功能铺平了道路。 iText,iText的.NET版本,一直以来是创建可编程PDF文档对象的一种可靠来源。
用iText创建PDF的总结
- 在Visual Studio中创建一个新的C#项目。
- 从NuGet软件包管理器安装iText库。
- 创建一个PdfDocument类的实例。
- 使用PdfWriter对象实例化它。
- 创建一个Document对象并将PdfDocument对象传递给它。
- 使用Paragraph类向Document对象添加文本。
- 关闭Document对象。
iText 的关键功能
以下是iText DLL的一些重要关键功能:
动态PDF生成
iText 赋予开发者动态生成或操作 PDF 文档的能力。 此功能对于基于XML文件或数据库数据创建文档和报告非常有价值。
交互式表单
该库便于创建和填写交互式表单,增强用户参与和互动性。
高级PDF特性
iText 允许开发者利用许多交互式功能,例如向现有 PDF 文件添加书签、页码、水印等。 这种灵活性对于根据特定要求定制PDF至关重要。
地图和书籍创建
开发者可以使用iText创建地图和图书,将该库的应用范围扩展到基本文档生成以外。
PDF标准合规性
iText 支持各种 PDF 标准,包括用于存档的 PDF/A、PDF/UA 用于可访问性、ZUGFeRD 用于电子开票和 PDF 2.0(虽然并未涵盖所有功能)。
iText Core版本8的发布
虽然iText一直是PDF操作的强大选择,但iText/iText已经由iText Core版8所取代,这带来了诸多改进。 鼓励开发人员考虑将现有项目过渡到iText 8,以利用最新发布的版本。
iText Core版本8的关键特性
以下是iText版本8的一些关键特性:
增强功能
iText在功能、性能和可扩展性方面引入了改进,与其前身相比。
改进的API
最新版本提供了改进的API,使开发更加直观和高效。
文档和支持
iText附带更新的文档和支持,确保顺利的开发体验。
优化的发票开具
通过iText版本8 Suite,开发者可以优化开票,确保长期归档并通过其强大的PDF SDK解决合规问题。
深入使用 iText 创建 PDF
步骤 1:安装 iText 库
要使用 iText 创建 PDF 文档,请按照以下步骤通过 NuGet 软件包管理器安装该库:
-
打开Visual Studio并创建一个新项目。
-
在解决方案资源管理器中右键单击项目并选择"管理NuGet包"。

-
在"NuGet包管理器"窗口中,选择"浏览"选项卡。
-
在搜索栏输入"iText"并按 Enter。

-
从搜索结果中选择"iText"并点击"安装"。
-
查看并接受依赖项,然后点击"确定"继续。
-
等待安装完成,iText 现在可以添加到您的项目中。
步骤 2:用 iText 创建 PDF 文档的代码
现在,让我们探索一个用 iText 创建 PDF 的基本示例:
using System;
using System.IO;
using iText.Kernel.Pdf;
using iText.Layout;
using iText.Layout.Element;
class Program
{
static void Main(string[] args)
{
// Create a new PDF document with a FileStream and PdfWriter
using (PdfDocument pdfDocument = new PdfDocument(new PdfWriter(new FileStream("/myfiles/hello.pdf", FileMode.Create, FileAccess.Write))))
{
// Create a document object
using (Document doc = new Document(pdfDocument))
{
// Add a paragraph to the document
string line = "Hello! Welcome to iTextSharp. Created with latest iText core version 8.";
doc.Add(new Paragraph(line));
}
}
// Print a message to the console
Console.WriteLine("PDF created successfully!");
}
}Imports System
Imports System.IO
Imports iText.Kernel.Pdf
Imports iText.Layout
Imports iText.Layout.Element
Module Program
Sub Main(args As String())
' Create a new PDF document with a FileStream and PdfWriter
Using pdfDocument As New PdfDocument(New PdfWriter(New FileStream("/myfiles/hello.pdf", FileMode.Create, FileAccess.Write)))
' Create a document object
Using doc As New Document(pdfDocument)
' Add a paragraph to the document
Dim line As String = "Hello! Welcome to iTextSharp. Created with latest iText core version 8."
doc.Add(New Paragraph(line))
End Using
End Using
' Print a message to the console
Console.WriteLine("PDF created successfully!")
End Sub
End Module在此源代码中,我们通过传递一个PdfWriter类对象创建了一个新 PDF 文档。 FileStream对象指定 PDF 文件名和文件模式以创建 PDF 文档。 然后我们将这个Document类以进行 PDF 创建。
最后,我们添加了一个字符串文本作为新段落,文本为"Hello! 欢迎使用 iText。 使用最新的 iText 核心版本 8 创建,并关闭文档以节省内存。 创建的PDF文档以"hello.pdf"的名称保存在指定位置的"myfiles"文件夹中。

IronPDF提供哪些服务?
IronPDF是一个全面的C#库,使开发人员能够以多样化且高效的方式与PDF交互。 无论您是从头开始创建 PDF 、将 HTML 和 CSS 转换为 PDF,还是添加数字签名和水印等高级功能,IronPDF 都提供了一套丰富的工具,满足您所有与 PDF 相关的需求。
###IronPDF的主要功能
HTML 至 PDF 转换
IronPDF在将HTML和CSS转换为高质量PDF文档方面表现出色。 此功能对于处理网页内容或动态HTML报告的开发人员尤其有价值。
PDF创建和操纵
开发人员可以轻松地从头开始创建 PDF,动态添加内容,并操作现有的 PDF 。 这种灵活性允许生成定制化的文档,以满足特定要求。
文本、图像和表单
IronPDF支持在您的PDF文档中包含文本、图像、表格和表单。 这使其成为在PDF中创建各种内容的多功能工具。
数字签名
安全性至关重要,IronPDF支持向PDF文档添加数字签名。 此功能对于涉及敏感信息或法律文档的应用程序非常重要。
水印和注释
使用水印、注释和其他元数据增强您的 PDF 文件。 IronPDF提供了向文档中添加视觉元素和注释的手段,提高了沟通和文档的清晰度。
PDF/A和PDF/UA合规性
IronPDF支持与用于归档的PDF/A标准和用于可访问性的PDF/UA标准的合规性。 这确保您的文档符合行业标准,以满足长期归档和可访问性要求。
跨平台支持
IronPDF设计为跨不同平台无缝工作,为在各种环境中工作的开发人员提供一致的体验。
用户友好的接口
该库配备了用户友好的 API ,可简化复杂的 PDF 操作。 这允许开发人员专注于应用程序逻辑,而不是解决复杂的PDF功能。
使用IronPDF创建PDF
步骤1:安装IronPDF库
要开始使用IronPDF,请按照以下步骤使用NuGet包管理器安装该库:
-
打开Visual Studio并创建一个新项目。
-
在解决方案资源管理器中右键单击项目并选择"管理NuGet包"。
-
在"NuGet包管理器"窗口中,选择"浏览"选项卡。

-
在搜索栏中输入"IronPDF"并按下Enter。
-
从搜索结果中选择"IronPDF"并点击"安装"。
-
查看并接受依赖项,然后点击"确定"继续。
-
等待安装完成,现在可以将IronPDF添加到您的项目中。
步骤2:使用IronPDF的代码来创建PDF文档
现在,让我们来看以下代码,使用IronPDF的HTML字符串创建PDF:
using IronPdf;
class Program
{
static void Main(string[] args)
{
// Instantiate renderer
var renderer = new ChromePdfRenderer();
// Create a PDF from an HTML string using C#
var pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
// Export to a file or Stream
pdf.SaveAs("output.pdf");
// Print a message to the console
Console.WriteLine("PDF created successfully using IronPDF!");
}
}Imports IronPdf
Module Program
Sub Main(args As String())
' Instantiate renderer
Dim renderer As New ChromePdfRenderer()
' Create a PDF from an HTML string using VB.NET
Dim pdf = renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
' Export to a file or Stream
pdf.SaveAs("output.pdf")
' Print a message to the console
Console.WriteLine("PDF created successfully using IronPDF!")
End Sub
End Module在上述源代码中,我们创建了一个新的 ChromePdfRenderer,以 PDF 的形式呈现 HTML 字符串内容(在此情况下为标题),并将生成的 PDF 文档保存为"output.pdf"。IronPDF 将 HTML 转换为像素完美的 PDF 文档。
要生成具有更多控制的PDF,例如设置页面大小、添加图像文件、元信息和其他元素,请访问此文档获取更多信息。

你应该选择哪个库?
现在,IronPDF和iText(现在正式称为iText)都是在C#中创建PDF的强大库,各有其独特的优势。
iText因其强大的功能集和对PDF内部细致的控制而闻名——尤其在高级PDF操作和合规标准是主要需求的环境中是非常有价值的。 与此同时,IronPDF 提供了一种 HTML 优先的方法,具有易于访问的 API 和丰富的文档,这可以缩短已经熟悉 HTML 和 CSS 的开发人员的上手时间。
iText 和IronPDF都是用于生成和处理 PDF 的可靠解决方案。 IronPDF使用嵌入式 Chromium 渲染引擎,一次性处理 HTML 到 PDF 的转换(包括 CSS3、Flexbox 和 Grid 布局),而 iText 的文档构建模型在较低的抽象级别上运行,需要开发人员以编程方式构建页面元素。 对于工作流程以将 Web 内容转换为 PDF 为基础的团队来说,这种架构上的差异意味着更少的代码行和更少的布局调试。
IronPDF 以单个 NuGet 包的形式提供,将渲染、操作和安全功能捆绑在一起。 iText 提供了一个模块化的生态系统,其中包含单独的附加包,用于实现 HTML 转换 (pdfHTML) 和数字签名等功能,这提供了灵活性,但对于需要开箱即用多种功能的团队来说,这增加了额外的集成步骤。
除了许可费用之外,项目总成本还包括开发人员花费在组装单独的附加包、以编程方式构建页面布局以及(对于使用 iText 开源层的团队而言)维护整个代码库的 AGPL 合规性上的时间。 对于评估多年项目生命周期成本的团队来说,这些集成和维护成本往往会超过开源许可和商业许可之间的差异。
有关IronPDF和 iText 之间的完整比较,请访问此IronPDF 和 iText 之间的详细比较。
IronPDF提供免费试用许可证以获取更多信息。 从IronPDF下载页面下载该库。

Curtis Chau holds a Bachelor’s degree in Computer Science (Carleton University) and specializes in front-end development with expertise in Node.js, TypeScript, JavaScript, and React. Passionate about crafting intuitive and aesthetically pleasing user interfaces, Curtis enjoys working with modern frameworks and creating well-structured, visually appealing manuals.
Related Articles

