Pdfbox 简明教程

PDFBox - Overview

可移植文档格式 (PDF) 是一种文件格式,有助于以独立于应用程序软件、硬件和操作系统的方式来显示数据。

每个 PDF 文件都包含固定版面平面文档的描述,包括显示该文档所需的文本、字体、图形和其他信息。

目前有几个库可供通过程序创建和处理 PDF 文档,例如:

  1. Adobe PDF Library − 该库提供 C++、.NET 和 Java 等语言的 API,使用它,我们可以编辑、查看、打印并从 PDF 文档中提取文本。

  2. Formatting Objects Processor − 开源打印格式程序,由 XSL 格式化对象和一个独立于输出的格式程序来驱动。主要输出目标是 PDF。

  3. iText − 该库提供 Java、C# 和其他 .NET 语言的 API,使用该库,我们可以创建和处理 PDF、RTF 和 HTML 文档。

  4. JasperReports − 这是一款 Java 报表工具,可生成 PDF 文档中的报表,包括 Microsoft Excel、RTF、ODT、逗号分隔值和 XML 文件。

What is a PDFBox

Apache PDFBox 是支持 PDF 文档的开发和转换的开源 Java 库。使用此库,您可以开发创建、转换和处理 PDF 文档的 Java 程序。

此外,PDFBox 还包括一个命令行实用程序,用于使用可用的 Jar 文件对 PDF 执行各种操作。

Features of PDFBox

以下是 PDFBox 值得注意的功能:

  1. Extract Text − 使用 PDFBox,您可以从 PDF 文件中提取 Unicode 文本。

  2. Split & Merge − 使用 PDFBox,您可以将一个 PDF 文件分成多个文件,并将其合并回单个文件。

  3. Fill Forms − 使用 PDFBox,可以在文档中填写表单数据。

  4. Print − 使用 PDFBox,可以使用标准 Java 打印 API 来打印 PDF 文件。

  5. Save as Image − 使用 PDFBox,可以将 PDF 保存为图像文件,例如 PNG 或 JPEG。

  6. Create PDFs − 使用 PDFBox,可以通过创建 Java 程序来创建新的 PDF 文件,也可以包括图片和字体。

  7. Signing − 使用 PDFBox,可以给 PDF 文件添加数字签名。

Applications of PDFBox

以下为 PDFBox 的应用程序 −

  1. Apache Nutch − Apache Nutch 是一款开源网络搜索软件。它构建于 Apache Lucene 之上,添加了网络特定内容,例如,爬取程序、链接图数据库、HTML 及其他文档格式的解析器等。

  2. Apache Tika − Apache Tika 是一款工具包,用于检测和提取各种文档中使用现有解析器库的元数据和结构化的文本内容。

Components of PDFBox

以下是 PDFBox 的四个主要组件 −

  1. PDFBox − 这是 PDFBox 的主要部分包含与内容提取和操作相关的类和接口。

  2. FontBox − 包含与字体相关的类和接口,利用这些类我们可以修改 PDF 文档文本的字体。

  3. XmpBox − 包含处理 XMP 元数据的类和接口。

  4. Preflight − 此组件用于根据 PDF/A-1b 标准来验证 PDF 文件。