PDFBox - 概述


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

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

有几个库可用于通过程序创建和操作 PDF 文档,例如 -

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

  • 格式化对象处理器- 由 XSL 格式化对象和输出独立格式化程序驱动的开源打印格式化程序。主要输出目标是 PDF。

  • iText - 该库提供 Java、C# 和其他 .NET 语言等语言的 API,使用该库我们可以创建和操作 PDF、RTF 和 HTML 文档。

  • JasperReports - 这是一个 Java 报告工具,可生成 PDF 文档报告,包括 Microsoft Excel、RTF、ODT、逗号分隔值和 XML 文件。

什么是 PDFBox

Apache PDFBox 是一个开源 Java 库,支持 PDF 文档的开发和转换。使用该库,您可以开发用于创建、转换和操作 PDF 文档的 Java 程序。

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

PDFBox的特点

以下是 PDFBox 的显着特点 -

  • 提取文本- 使用 PDFBox,您可以从 PDF 文件中提取 Unicode 文本。

  • 拆分和合并- 使用 PDFBox,您可以将单个 PDF 文件分成多个文件,然后将它们合并回单个文件。

  • 填写表单- 使用 PDFBox,您可以在文档中填写表单数据。

  • 打印- 使用 PDFBox,您可以使用标准 Java 打印 API 打印 PDF 文件。

  • 另存为图像- 使用 PDFBox,您可以将 PDF 保存为图像文件,例如 PNG 或 JPEG。

  • 创建 PDF - 使用 PDFBox,您可以通过创建 Java 程序来创建新的 PDF 文件,还可以包含图像和字体。

  • 签名- 使用 PDFBox,您可以向 PDF 文件添加数字签名。

PDFBox的应用

以下是 PDFBox 的应用 -

  • Apache Nutch - Apache Nutch 是一款开源网络搜索软件。它建立在 Apache Lucene 之上,添加了特定于 Web 的功能,例如爬虫、链接图数据库、HTML 和其他文档格式的解析器等。

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

PDFBox的组件

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

  • PDFBox - 这是 PDFBox 的主要部分。其中包含与内容提取和操作相关的类和接口。

  • FontBox - 它包含与字体相关的类和接口,使用这些类我们可以修改PDF文档文本的字体。

  • XmpBox - 这包含处理 XMP 元数据的类和接口。

  • 预检- 该组件用于根据 PDF/A-1b 标准验证 PDF 文件。