需要使用其他库先解密 PDF,然后再进行解析。

After that:


Last Updated: 2026-02-11
Tested With: GroupDocs.Parser 25.5 for Java
Author: GroupDocs

Translate:


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

Make sure to keep the markdown formatting.

Now produce final content.# 如何使用 GroupDocs.Parser for Java 按模板解析 PDF 文档页面

在当今的数字环境中,how to parse pdf 文件的高效处理是开发者常见的挑战。无论您需要提取 QR 码、读取条形码,还是从表单中读取结构化字段,可靠的解析解决方案都能节省大量时间。在本指南中,我们将通过 GroupDocs.Parser for Java 按模板解析 how to parse pdf 页面,重点是从 PDF 文档中提取条形码数据。

快速答案

  • 什么库可以帮助您按模板解析 pdf? GroupDocs.Parser for Java.
  • 演示的条形码类型是什么? QR code(可更改为其他类型)。
  • 我需要许可证吗? 免费试用可用于测试;生产环境需要永久许可证。
  • 我可以使用 Maven 运行吗? 可以——只需将仓库和依赖添加到您的 pom.xml
  • 需要哪个 Java 版本? JDK 8 或更高。

前置条件

在开始之前,请确保您已具备:

  • Java Development Kit (JDK) 8+ 已安装。
  • 用于依赖管理的 Maven(可选,但推荐)。
  • 对 Java 编程概念有基本了解。

必需的库和依赖

要在项目中使用 GroupDocs.Parser,请添加以下 Maven 配置:

<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>

或者,您可以直接从 GroupDocs.Parser for Java releases 下载最新版本。

获取许可证

您可以通过从官方站点下载来开始使用 GroupDocs.Parser 的免费试用。若需长期使用,请考虑获取临时许可证或通过 此链接 购买。

为 Java 设置 GroupDocs.Parser

要使用 Maven 将 GroupDocs.Parser 集成到项目中:

  1. 添加仓库和依赖 – 将上面的 XML 代码片段复制到您的 pom.xml 中。
  2. 导入所需类 – 如 ParserTemplateDocumentPageData 等类位于 com.groupdocs.parser 包中。
  3. 初始化 Parser – 创建一个 Parser 实例并指向您要处理的 PDF。
import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.DocumentPageData;
import com.groupdocs.parser.templates.Template;
import com.groupdocs.parser.templates.TemplateBarcode;
import com.groupdocs.parser.templates.Rectangle;
import com.groupdocs.parser.templates.Point;
import com.groupdocs.parser.templates.Size;

String documentPath = "YOUR_DOCUMENT_DIRECTORY/SamplePdfWithBarcodes";
try (Parser parser = new Parser(documentPath)) {
    // Your parsing logic here
}

如何使用 GroupDocs.Parser 按模板解析 pdf

功能 1:定义条形码字段(java 提取 qr code)

首先,我们描述每页上条形码的位置和大小。这一步是 parse pdf by template 的核心,因为它告诉解析器确切的查找位置。

TemplateBarcode barcode = new TemplateBarcode(
        new Rectangle(new Point(405, 55), new Size(100, 50)),
        "QR");

在这里,我们创建一个 TemplateBarcode,其目标是位于坐标 (405, 55) 且尺寸为 100 × 50 像素的 QR 码。

功能 2:构建模板(java 读取条形码 pdf)

接下来,我们将条形码定义封装在 Template 对象中。该模板可在文档的每一页重复使用。

Template template = new Template(Arrays.asList(new com.groupdocs.parser.templates.TemplateItem[]{barcode}));

功能 3:按模板解析文档页面(从 pdf 中提取条形码)

现在我们遍历每一页,应用模板,并收集条形码值。

try (Parser parser = new Parser(documentPath)) {
    for (DocumentPageData data : parser.parsePagesByTemplate(template)) {
        for (int i = 0; i < data.getCount(); i++) {
            com.groupdocs.parser.templates.PageBarcodeArea area = data.get(i).getPageArea() instanceof com.groupdocs.parser.templates.PageBarcodeArea
                    ? (com.groupdocs.parser.templates.PageBarcodeArea) data.get(i).getPageArea()
                    : null;
            String result = area == null ? "Not a template barcode field" : area.getValue();
        }
    }
}

循环会检查识别的区域是否为 PageBarcodeArea。如果是,则获取条形码的字符串值。

功能 4:打印提取的条形码数据(java 提取 qr code)

为了快速验证,您可以将每个条形码值打印到控制台:

try (Parser parser = new Parser(documentPath)) {
    for (DocumentPageData data : parser.parsePagesByTemplate(template)) {
        for (int i = 0; i < data.getCount(); i++) {
            com.groupdocs.parser.templates.PageBarcodeArea area = data.get(i).getPageArea() instanceof com.groupdocs.parser.templates.PageBarcodeArea
                    ? (com.groupdocs.parser.templates.PageBarcodeArea) data.get(i).getPageArea()
                    : null;
            String result = area == null ? "Not a template barcode field" : area.getValue();
            System.out.println(result);
        }
    }
}

运行此代码片段将输出每个提取的条形码(或 QR 码)值,帮助您确认 how to parse pdf 如预期般工作。

为什么使用 GroupDocs.Parser for Java 按模板解析 pdf?

  • 精确性 – 模板允许您定位精确坐标,消除误报。
  • 性能 – 解析按页进行,即使是大型 PDF 也能保持低内存使用。
  • 灵活性 – 支持多种条形码类型(QR、Code128、DataMatrix 等),并可扩展到其他字段类型。
  • 跨平台 – 在任何运行 Java 8+ 的平台上均可工作,适合服务器端处理。

常见问题及解决方案

症状可能原因解决方案
未返回条形码值模板坐标与实际条形码位置不匹配使用 PDF 查看器的测量工具验证 X/Y 坐标和尺寸。
Parser 抛出 FileNotFoundExceptiondocumentPath 错误或缺少读取权限确保路径是绝对路径或相对于项目根目录,并且文件可读。
扫描的 PDF 检测精度低图像分辨率对条形码扫描器来说太低使用更高分辨率的扫描(300 dpi 或更高)或对 PDF 进行锐化过滤预处理。
大型 PDF 出现内存不足错误Parser 在内存中保留了太多页面将 PDF 分成更小批次处理或增大 JVM 堆大小(-Xmx2g)。

实际应用

  1. 库存管理 – 自动读取供应商 PDF 中的条形码,以更新库存数据库。
  2. 法律文件验证 – 提取嵌入数字签名的 QR 码,用于审计追踪。
  3. 数据迁移 – 在将记录从旧系统迁移时使用条形码作为唯一标识符。

性能考虑

  • 及时关闭 Parsertry‑with‑resources 块确保文件句柄被释放。
  • 监控内存 – 大型 PDF 可能占用大量堆内存;考虑流式处理或分块处理。

结论

您现在已经拥有一套完整、可用于生产的 how to parse pdf 按模板解析页面的指南,使用 GroupDocs.Parser for Java。通过定义条形码模板、遍历页面并提取值,您可以自动化几乎所有基于条形码的工作流。

下一步

  • 通过更改 TemplateBarcode 的第二个参数,尝试其他条形码类型(例如 Code128、DataMatrix)。
  • 将多个 TemplateBarcode 对象组合,以处理单页上混合的条形码布局。
  • 通过浏览 GroupDocs.Parser documentation 深入了解 API,获取文本提取、图像提取和自定义模板创建等功能。

FAQ 部分

Q: 我可以从扫描的文档中解析条形码吗?
A: 可以,只要它们是 PDF 格式。确保分辨率足够高,以准确检测条形码。

Q: 如何在单页上处理多种条形码?
A: 为每种条形码定义额外的 TemplateBarcode 实例,并设置相应的坐标和尺寸。

Q: 如果我的文档包含图像而不是 PDF,该怎么办?
A: GroupDocs.Parser 主要适用于基于文本的文档。请先将图像转换为可搜索的 PDF。

Q: 能够从加密的 PDF 中提取数据吗?
A: 可能需要使用其他库先解密 PDF,然后再进行解析。


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