IRONSOFTWAREHOME
PDF 工具

如何拆分 PDF 页面

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

IronPDF vs iText / iText

全面的 .NET PDF 库比较——逐项功能对比,并提供基于事实的上下文分析

iText / iText
13
共 20 项功能
10 是7 复杂3 否
IronPDF ✦
20
共 20 项功能
20 是0 复杂0 否
特征iText / iTextIronPDF ✦
PDF 创建与转换
HTML/CSS 转 PDF$ Paid Add-on
通过pdfHTML将 HTML 转换为 PDF(单独的软件包;AGPL/商业模式)。
✓ Yes
基于 Chromium 内核的引擎,内置像素级精准的 CSS3、Flexbox 和 Grid 渲染。
JavaScript 执行? Unknown
pdfHTML 描述了 HTML/CSS→PDF 的转换,但文档中没有说明是否支持 JS 执行。
✓ Yes
在渲染过程中完全执行 JS——动态图表、SPA 和交互式内容。
程序化生成✓ Yes
定位为面向 .NET 的可编程 PDF SDK——创建、编辑和增强。
✓ Yes
可从 HTML 模板、字符串、ASPX 视图或图像生成内容。Chromium 负责布局。
URL 转 PDF$ Paid Add-on
可以通过 pdfHTML 插件的 URL 获取功能实现,但这不是核心功能。
✓ Yes
RenderUrlAsPdf() 捕获任何实时 URL 并进行完整的 CSS/JS 渲染。
DOCX 转换为 PDF✕ No
不支持原生 Word 转换——iText 是一个 PDF 原生 SDK。
✓ Yes
DocxToPdfRenderer 转换 Word 文档,保留其结构和格式。
阅读与提取
文本提取✓ Yes
PdfTextExtractor.GetTextFromPage() 采用多种提取策略。
✓ Yes
提取文本时能够感知布局。可与 IronOCR 结合使用,识别扫描文档。
将页面渲染为图像? Unknown
OCR 工作流程中提到了渲染,但在引用的 iText 文档中没有发现主要来源的"PDF→图像渲染器"模块。
✓ Built-in
原生栅格化为PNG、JPEG、BMP格式,DPI可配置。
内置OCR$ Paid Add-on
提供 pdfOCR 插件;安装说明中提到了平台特定的/原生依赖项(例如,Linux/macOS 运行时要求)。
✓ Via IronOCR
与 IronOCR 原生集成,可对扫描的 PDF 文件进行 127 种以上语言的 OCR 识别。
编辑与处理
合并与拆分✓ Yes
PdfMerger .NET API 中的类;官方示例讨论了通过 PdfMerger 进行合并。
✓ Yes
通过直观的 API,实现一行式合并、拆分、追加、前置和页面重新排序。
页眉、页脚和页码✓ Yes
PDF协会的列表证实了向现有PDF添加"页码"和类似功能的能力。
✓ Yes
基于 HTML 的页眉/页脚,带有自动页码、日期和自定义内容。
水印✓ Yes
PDF协会的列表明确包括"在现有PDF文档上添加水印"。
✓ Yes
ApplyWatermark() 支持 HTML/CSS——完全控制透明度、旋转角度和位置。
添加文字和图像✓ Yes
通过 iText 的 canvas 和 layout API 实现程序化内容投放。
✓ Yes
TextStamper 以及带有 Google Fonts、定位和页面级控制的ImageStamper
编辑内容✓ Yes
iText 通过清理模块提供编辑注释支持。
✓ Yes
RedactTextOnAllPages() 永久删除一行中的敏感文本。
安全性与合规性
加密与密码✓ Yes
通过 iText 的安全 API 实现完全加密和权限控制。
✓ Yes
AES 加密、所有者/用户密码、细粒度权限(打印、复制、注释)。
数字签名✓ Yes
专用数字签名文档和签名 API ( PdfSigner )。
✓ Yes
PdfSignature 支持 X509/PFX 证书。
PDF/A 和 PDF/UA 合规性✓ Yes
文档涵盖了创建 PDF/A 的内容,并解释了其限制(从现有文件转换不是自动的)。
✓ Yes
适用于企业环境的原生 PDF/A 归档和 PDF/UA 无障碍访问合规性。
平台与部署
跨平台支持✓ Yes
.NET Standard 2.0 / .NET Framework 4.6.1 — 可在 .NET 6+ 及更高版本的操作系统上运行。
✓ Yes
Windows、Linux、macOS、x64、x86、ARM。.NET 6–10、Core、Standard 2.0+、Framework 4.6.2+。
服务器/Docker/云~ Complex
核心安装需要多个软件包(iText + Bouncy Castle 适配器);附加组件(pdfHTML/pdfOCR)会增加进一步的依赖/合规步骤。
✓ Yes
Docker、Azure、AWS、IIS。官方 Docker 镜像和部署指南。
安装简便~ Complex
核心安装需要多个软件包(Bouncy Castle 适配器);HTML/OCR 需要额外的插件,有时还需要原生依赖项。
✓ Simple
只需一条 NuGet Install-Package IronPdf安装。
许可与支持
许可模式~ Complex
双重许可:AGPLv3(网络使用需披露源代码)或商业许可。AGPL 对专有应用程序的限制可能较大。
✓ Commercial
永久授权。30天全功能免费试用,无水印。
商业支持和服务水平协议✓ Yes
iText 网站的许可模式包括商业许可和支持协议。
✓ 24/5 Support
提供专属工程支持,并保证服务水平协议 (SLA)——电子邮件、在线聊天、电话。
文档✓ Yes
提供安装指南、知识库文章和 API 参考(核心 + 附加组件)。
✓ Extensive
完整的 API 参考、100 多个操作指南、教程、代码示例、故障排除、视频。

数据源自官方 iText 文档、PDF 协会列表和 NuGet 包引用。
iText 虽然强大,但携带 AGPL 许可证的复杂性和多包安装开销。
IronPDF 提供简单安装的完整覆盖——试用免费 30 天

PDF 是由 Adobe Acrobat Reader 创建的一种便携文档格式,被广泛用于在互联网上数字信息共享。 它保留数据格式,并提供设置安全权限和密码保护等功能。 作为 C# 开发人员,您可能遇到过需要将 PDF 功能集成到您的软件应用程序中的情况。 从头构建它可能是一项耗时且繁琐的任务。 因此,考虑到应用程序的性能、效果和效率,从头创建一个新服务或使用预构建库之间的权衡是显著的。

有几个适用于 C# 的 PDF 库可用。 在本文中,我们将探索两个最流行的用于在 C# 中读取 PDF 文档的 PDF 库。

iText 软件

iText,前称 iText Core,是一个在 .NET C# 和 Java 中编程 PDF 文档的库。 它可作为开源许可证 (AGPL) 使用,并可用于商业应用。

iText Core 是一个高级 API,提供便捷的方法来生成和编辑 PDF。 通过 iText Core,您可以拆分、合并、注释、填充表单、数字签名和在 PDF 文件上做更多操作。 iText 提供一个 HTML 到 PDF 转换器

IronPDF

了解更多关于 IronPDF 是一个 .NET 和 .NET Framework C# 和 Java API,用于从 HTML、CSS 和 JavaScript 生成 PDF 文档,无论是从 URL、HTML 文件还是 HTML 字符串。 IronPDF 允许您操作现有的 PDF 文件,如拆分、合并、注释、数字签名等等。

IronPDF 具有 50 多个功能以创建、读取和编辑 PDF 文件。 当您需要使用 Adobe Acrobat Reader 提供高质量、像素完美的专业 PDF 文件时,它优先考虑速度、易用性和准确性。 API 文档详细,而且可以在其代码示例页面找到大量样本源代码。

创建控制台应用程序

我们将使用 Visual Studio 2022 IDE 来创建一个应用程序作为开始。 Visual Studio 是 C# 开发的官方 IDE,您必须安装它。 如果尚未安装,可以从微软 Visual Studio 网站下载。

以下步骤将创建一个名为"DemoApp"的新项目。

  1. 打开 Visual Studio 并点击"创建新项目"。

    iText 在 C# 中读取 PDF 的替代方案(VS IronPDF)图 1 - 新项目

  2. 选择"控制台应用程序"并点击"下一步"。

    iText 在 C# 中读取 PDF 的替代方案(VS IronPDF)图 2

  3. 设置项目名称。

    iText 在 C# 中读取 PDF 的替代方案(VS IronPDF)图 3

  4. 选择 .NET 版本。 选择稳定版本 .NET 6.0。

    iText 在 C# 中读取 PDF 的替代方案(VS IronPDF)图 4

安装 IronPDF 库

一旦项目创建完成,就需要在项目中安装 IronPDF 库以便使用。 按照以下步骤安装。

  1. 打开 NuGet 包管理器,可以从解决方案资源管理器或工具中找到。

    iText 在 C# 中读取 PDF 的替代方案(VS IronPDF)图 5

  2. 浏览 IronPDF 库并为当前项目选择。 点击安装。

    iText 在 C# 中读取 PDF 的替代方案(VS IronPDF)图 6

在 Program.cs 文件顶部添加以下命名空间:

using IronPdf;

安装 iText 库

一旦项目创建完成,需要在项目中安装 iText 库以便使用它。 按照以下步骤安装。

  1. 打开 NuGet 包管理器,可以从解决方案资源管理器或工具中找到。

    iText 在 C# 中读取 PDF 的替代方案(VS IronPDF)图 7

  2. 浏览 iText 库并为当前项目选择它。 点击安装。

    iText 在 C# 中读取 PDF 的替代方案(VS IronPDF)图 8

在 Program.cs 文件顶部添加以下命名空间:

using iText.Kernel.Pdf.Canvas.Parser.Listener;
using iText.Kernel.Pdf.Canvas.Parser;
using iText.Kernel.Pdf;

打开 PDF 文件

我们将使用以下 PDF 文件从中提取文本。 这是一个两页的 PDF 文档。

iText 在 C# 中读取 PDF 的替代方案(VS IronPDF)图 9

使用 iText 库

using iText 库打开 PDF 文件是一个两步过程。 首先,我们创建一个PdfReader对象并将文件位置作为参数传递。 然后我们使用PdfDocument类来创建一个新的 PDF 文档。 代码如下

// Initialize a reader instance by specifying the path of the PDF file
PdfReader pdfReader = new PdfReader("sample.pdf");

// Initialize a document instance using the PdfReader
PdfDocument pdfDoc = new PdfDocument(pdfReader);

使用 IronPDF.

using IronPDF 打开 PDF 文件很容易。 使用FromFile方法从任何文件位置打开 PDF。 以下一行代码打开了一个 PDF 文件以读取数据:

// Open a PDF file using IronPDF and create a PdfDocument instance
var pdf = PdfDocument.FromFile("sample.pdf");

从 PDF 文件读取数据

使用 iText 库

在 iText 库中读取 PDF 数据并不那么直接。 我们必须手动遍历 PDF 文档的每一页以从每一页提取文本。 以下源代码帮助逐页提取 PDF 文档中的文本:

// Iterate through each page and extract text
for (int page = 1; page <= pdfDoc.GetNumberOfPages(); page++)
{
    // Define the text extraction strategy
    ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy();
    
    // Extract text from the current page using the strategy
    string pageContent = PdfTextExtractor.GetTextFromPage(pdfDoc.GetPage(page), strategy);
    
    // Output the extracted text to the console
    Console.WriteLine(pageContent);
}

// Close document and reader to release resources
pdfDoc.Close();
pdfReader.Close();

上面的代码中有很多内容。 首先,我们声明文本提取策略,然后使用GetTextFromPage方法来读取文本。 此方法接受两个参数:第一个是 PDF 文档页码,第二个是策略。 要获取 PDF 文档页,使用GetPage方法并将页码作为参数传递。 输出将作为字符串返回,然后显示在控制台输出屏幕上。 最后,PdfDocument对象关闭。 此外,请查看以下关于使用 iText 提取 PDF 文本的代码示例。

输出

iText 在 C# 中读取 PDF 的替代方案(VS IronPDF)图 10

使用 IronPDF.

就像打开 PDF 文件是一行代码一样,从 PDF 文件中读取文本同样是一个一行的过程。 ExtractAllText方法来读取 PDF 的全部内容Console.WriteLine 用于在屏幕上打印文本。 代码如下:

// Extract all text from the PDF document
string text = pdf.ExtractAllText();

// Display the extracted text
Console.WriteLine(text);

输出

iText 在 C# 中读取 PDF 的替代方案(VS IronPDF)图 11

输出准确且没有任何错误。 然而,要使用ExtractAllText方法,您需要拥有许可证,因为它仅在生产模式中工作。 您可以从IronPDF 试用许可证页面获取 30 天的试用许可证密钥。

比较

相比之下,两种库在从 PDF 文档提取文本时都能产生准确的结果。 在文本提取准确性方面可比较。 然而,IronPDF 在代码可读性和开发者易用性方面更高效。

IronPDF 只需要两行代码就可以实现与 iText 相同的任务。 它提供现成的文本提取方法,无需额外的逻辑实现。 iText 代码有些棘手,您必须关闭在打开 PDF 文档时创建的两个实例。 而 IronPDF 则在任务完成后自动清除内存。

摘要

在本文中,我们研究了如何使用 iText 库在 C# 中读取 PDF 文档,然后与 IronPDF 进行了比较。 两个库都提供准确的结果,并提供众多的 PDF 操作方法进行使用。 您可以通过这两个库创建、编辑和读取 PDF 文件中的数据。

iText 是开源的,可以免费使用,但有一些限制。 它可以被许可用于商业用途。 IronPDF 也是免费使用的,可以被许可用于商业活动,带有 30 天的免费试用

下载 IronPDF 并试用一下

Please note: iText是一种注册商标,其各自所有者拥有其商标。 本网站不与iText有任何从属关系、认可或赞助。 所有产品名称、徽标和品牌均为各自所有者的财产。 比较仅供参考,反映撰写时公开可用的信息。
Curtis Chau
Technical Writer

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.

...
Read More

Related Articles

Key in blue circle

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

bullet_checked无需信用卡或创建账户
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
预约您的免费现场演示
Booking Badge related to IronPDF Product Demo

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

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