如何使用 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(如示例)关闭 Parser 和 TextReader。 |
实际应用
- 数据分析 – 从 PDF 报告中提取客户反馈进行情感分析。
- 自动化报告 – 通过提取多个 PDF 的关键章节生成摘要。
- 内容迁移 – 将旧有 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
资源