如何使用 GroupDocs.Parser 在 Java 中提取 PDF 文本

从 PDF 文件中提取文本是数据驱动应用的常见需求,许多开发者想了解 如何提取 PDF 高效地在 Java 环境中进行。本指南将带您了解所需的一切——从设置 GroupDocs.Parser 到从 PDF 文档的每一页提取原始文本。完成后,您将能够自信地在 Java 项目中添加强大的 PDF 解析功能。

快速答案

  • 哪个库最适合 Java PDF 文本提取? GroupDocs.Parser for Java。
  • 我可以在不保留格式的情况下提取原始 PDF 文本吗? 可以——使用 TextOptions(true) 进行原始模式。
  • 运行代码是否需要许可证? 免费试用许可证可用于开发;生产环境需要付费许可证。
  • 是否提供 Maven 支持? 当然——在 pom.xml 中添加 GroupDocs 仓库和依赖即可。
  • 这能处理大 PDF 吗? 可以,只要使用 try‑with‑resources 来管理内存。

在 Java 中什么是 PDF 文本提取?

PDF 文本提取指读取 PDF 文件内部存储的字符并将其返回为普通字符串。这对于索引、分析、内容迁移或自动化报告非常有用。使用 GroupDocs.Parser,您可以快速且高保真地提取 extract pdf text java

为什么在 Java 中使用 GroupDocs.Parser?

  • 高精度 – 处理复杂布局、表格和多语言文档。
  • 简洁 API – 获取原始文本所需代码极少。
  • 性能导向 – 基于流的读取降低内存开销。
  • 跨平台 – 在任何兼容 JVM 的环境中均可运行。

前置条件

  • Java Development Kit (JDK) 8 或更高版本。
  • 已安装 Maven(或能够手动添加 JAR)。
  • 有效的 GroupDocs.Parser 许可证(免费试用可用于测试)。

为 Java 设置 GroupDocs.Parser

使用 Maven

pom.xml 中添加 GroupDocs 仓库和解析器依赖:

<repositories>
   <repository>
      <id>repository.groupdocs.com</id>
      <name>GroupDocs Repository</name>
      <url>https://releases.groupdocs.com/parser/java/</url>
   </repository>
</repositories>

<dependencies>
   <dependency>
      <groupId>com.groupdocs</groupId>
      <artifactId>groupdocs-parser</artifactId>
      <version>25.5</version>
   </dependency>
</dependencies>

直接下载

如果您不想使用 Maven,可从官方网站获取最新的 JAR: GroupDocs.Parser for Java releases

许可证获取步骤

从 GroupDocs 网站获取免费试用许可证或购买完整许可证。获取许可证文件后,按照文档说明在应用程序中进行配置。

基本初始化和设置

以下是启动 Parser 实例所需的最小代码:

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.options.TextOptions;

String pdfFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.pdf";

try (Parser parser = new Parser(pdfFilePath)) {
    // Your code to extract text goes here
}

实现指南

我们将把提取过程拆分为清晰的编号步骤,方便您轻松跟随。

步骤 1:导入必要的包

确保包含以下导入语句:

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.TextReader;
import com.groupdocs.parser.options.IDocumentInfo;
import com.groupdocs.parser.options.TextOptions;

步骤 2:初始化 Parser 对象

创建 Parser 实例,并指向您的 PDF 文件:

try (Parser parser = new Parser(pdfFilePath)) {
    // Further processing code
}

步骤 3:获取文档信息

获取文档信息可让您了解可用的页数:

IDocumentInfo documentInfo = parser.getDocumentInfo();

步骤 4:遍历每页并提取原始文本

遍历每一页并提取原始文本。TextOptions(true) 告诉 GroupDocs.Parser 返回未格式化的文本,非常适合数据处理流水线。

for (int p = 0; p < documentInfo.getRawPageCount(); p++) {
    try (TextReader reader = parser.getText(p, new TextOptions(true))) {
        String pageText = reader.readToEnd();
        System.out.println(pageText); // Output the extracted text for each page
    }
}

参数和方法说明

  • parser.getText(int pageNumber, TextOptions options): 从指定页提取文本。将 TextOptions(true) 设置为返回 extract raw pdf text,不包含布局信息。
  • reader.readToEnd(): 将整个流读取为单个 String

常见问题及解决方案

症状可能原因解决方案
FileNotFoundException文件路径错误确认 pdfFilePath 指向已存在的文件,必要时使用绝对路径。
输出为空PDF 为扫描图像GroupDocs.Parser 仅从可搜索的 PDF 中提取文本;对扫描图像请使用 OCR 插件。
大 PDF 导致内存不足错误未释放资源始终使用 try‑with‑resources(如示例)关闭 ParserTextReader

实际应用

  1. 数据分析 – 从 PDF 报告中提取客户反馈进行情感分析。
  2. 自动化报告 – 通过提取多个 PDF 的关键章节生成摘要。
  3. 内容迁移 – 将旧有 PDF 内容迁移至数据库或内容管理系统。

性能考虑

  • 内存管理:使用 try‑with‑resources 模式(已示例)及时释放本机资源。
  • 选择性提取:如果只需特定页面,可遍历 documentInfo.getRawPageCount() 的子集。
  • 并行处理:对于大批量文件,可考虑使用并行流处理 PDF,同时注意 JVM 内存限制。

结论

本教程介绍了使用 GroupDocs.Parser for Java 如何提取 PDF 文本的全过程,从项目设置到逐页提取原始文本。您现在拥有了将 PDF 解析集成到任何基于 Java 工作流的坚实基础。

后续步骤

  • 试验 TextOptions 以包含格式或提取特定章节。
  • 将提取的文本与自然语言处理(NLP)库结合,以获得更深入的洞察。
  • 探索 GroupDocs.Parser 的其他功能,如图像提取或元数据检索。

常见问题

问:什么是 GroupDocs.Parser?
答:它是一个 Java 库,可从包括 PDF 在内的 100 多种文档格式中提取文本、元数据和图像。

问:如何处理受密码保护的 PDF?
答:在 Parser 构造函数中传入密码,例如 new Parser(pdfPath, "password")

问:我可以同时提取图像和文本吗?
答:可以——GroupDocs.Parser 同时提供图像提取 API。

问:在生产环境使用 GroupDocs.Parser 是否需要付费?
答:提供免费试用供评估;生产部署需要商业许可证。

问:如果提取的文本缺少字符怎么办?
答:确保 PDF 包含可选择的文本(而非扫描图像)。对于扫描的 PDF,请使用 OCR 插件或 OCR 库。


最后更新: 2026-02-14
测试环境: GroupDocs.Parser 25.5 for Java
作者: GroupDocs

资源