Java 程序提取 PDF 内容

2025 年 1 月 6 日 | 阅读 4 分钟

在 Java 中提取 PDF 内容,有许多可用的库,例如 Apache PDFBox。Apache PDFBox 是一个优秀的库,用于执行各种 PDF 操作,如 PDF 到文本提取、PDF 生成等。

前提条件

Apache PDFBox 库:首先,我们必须将 PDFBox 库添加到您的项目中。可以从官方网站下载,也可以将其声明为构建工具(如 Maven 或 Gradle)的项目依赖项。

对于 Maven

对于 Gradle

分步指南

设置项目:将 PDFBox 库导入 Java 项目。

创建 Java 类:开发一个 Java 类,该类将专门负责从 PDF 文件中提取文本。

使用 PDFBox 提取文本:使用 PDFBox API 加载 PDF 文档并进行读取,以获取文档的文本。

处理异常:确保在适当的地方处理文件未找到错误或读取错误等异常。

Java 程序提取 PDF 内容

好了,让我们来创建一个详细的 Java 代码,演示如何从 PDF 文档中提取文本。此程序将打开一个 PDF 文件,解析该文件的内容,然后将内容打印到控制台。

文件名:PDFTextExtractor.java

运行程序

编译程序:确保 Apache PDFBox 在您的类路径中,然后编译 Java 程序。

javac -cp .:pdfbox-app-2.0.27.jar PDFTextExtractor.java

运行程序:从命令行执行程序,提供输入 PDF 文件路径和所需的输出文本文件路径。

java -cp .:pdfbox-app-2.0.27.jar PDFTextExtractor input.pdf output.txt

解释

导入:已导入 java:io 中用于文件操作以及 org. apache. pdfbox 中用于 PDF 处理的必需类。

PDFTextExtractor 类:此类包含从给定 PDF 文件提取文本的方法。

  • extractText() 方法:此方法完成了程序的主要任务,即从选定的 PDF 文件中提取文本。
  • 加载 PDF 文档:load(new File(pdfFilePath)) 将 PDF 文件加载到内存中。
  • 检查加密:如果 PDF 已加密,该方法将简单地打印一条错误消息并退出函数。
  • 提取文本:getText(document) 简化了从 PDF 中提取文本的过程。
  • 写入文件:提取的文本随后被写入所需的目标文件。
  • 异常处理:如果在文件处理过程中发生任何 I/O 异常,它们将被捕获并进行处理。
  • 资源清理:finally 块确保 PDDocument 和 FileWriter 都被关闭,以防止资源泄露。

参数检查:检查用户是否提供了正确的必需参数数量(PDF 文件路径和输出文本文件路径)。

实例化并调用提取器:实例化 PDFTextExtractor 对象,并使用给定的参数调用 extractText 方法。

结论

此 Java 程序演示了 Java 如何使用 Apache PDFBox 库从 PDF 文件中提取文本。它负责加载 PDF、检查加密、从 PDF 中提取文本内容,然后将输出写入另一个文件。它具有适当的异常处理和资源管理,以确保程序的正确运行。

Apache PDFBox 是一个功能强大的工具,用于在 Java 中操作 PDF 文档。它具有比文本提取更多的功能,例如文档创建、文档修改、处理注释等。在这里,我们学习了如何在 Java 程序中包含 PDF 文本提取,并且可以基于此示例进一步开发。