Как парсить страницы PDF‑документов по шаблону с помощью GroupDocs.Parser для Java

В современном цифровом мире эффективный how to parse pdf — распространённая задача для разработчиков. Независимо от того, нужно ли извлечь QR‑код, считать штрих‑коды или прочитать структурированные поля формы, надёжное решение для парсинга может сэкономить бесчисленные часы. В этом руководстве мы рассмотрим how to parse pdf страницы по шаблону с помощью GroupDocs.Parser for Java, сосредоточившись на извлечении данных штрих‑кода из 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, скачав её с официального сайта. Для длительного использования рассмотрите возможность получения временной лицензии или покупки через this link.

Настройка GroupDocs.Parser для Java

Чтобы интегрировать GroupDocs.Parser в ваш проект с помощью Maven:

  1. Add the Repository and Dependency — скопируйте XML‑фрагмент выше в ваш pom.xml.
  2. Import the Required Classes — классы такие как Parser, Template, DocumentPageData и др. находятся в пакете com.groupdocs.parser.
  3. Initialize the 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
}

Как парсить pdf по шаблону с помощью GroupDocs.Parser

Функция 1: Определить поле штрих‑кода (java extract qr code)

Сначала мы описываем расположение и размер штрих‑кода на каждой странице. Этот шаг является ядром parse pdf by template, так как указывает парсеру точное место для поиска.

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

Здесь мы создаём TemplateBarcode, который нацелен на QR‑code, расположенный в координатах (405, 55) с размером 100 × 50 пикселей.

Функция 2: Сформировать шаблон (java read barcode pdf)

Далее мы помещаем определение штрих‑кода внутрь объекта Template. Этот шаблон можно переиспользовать для каждой страницы документа.

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

Функция 3: Парсить страницы документа по шаблону (extract barcode from 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 extract 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‑code), позволяя убедиться, что how to parse pdf отработал как ожидалось.

Почему использовать GroupDocs.Parser для Java для парсинга pdf по шаблону?

  • Precision — Шаблоны позволяют задавать точные координаты, исключая ложные срабатывания.
  • Performance — Парсинг происходит постранично, что сохраняет низкое потребление памяти даже для больших PDF‑файлов.
  • Flexibility — Поддерживает множество типов штрих‑кодов (QR, Code128, DataMatrix и др.) и может быть расширен для других типов полей.
  • Cross‑platform — Работает на любой платформе, где запущен Java 8+, что делает его идеальным для серверной обработки.

Распространённые проблемы и решения

СимптомВероятная причинаРешение
Не возвращаются значения штрих‑кодаКоординаты шаблона не соответствуют реальному расположению штрих‑кодаПроверьте координаты X/Y и размер с помощью инструмента измерения в PDF‑просмотрщике.
Parser бросает FileNotFoundExceptionНеправильный documentPath или отсутствие прав на чтениеУбедитесь, что путь абсолютный или относительный к корню проекта и файл доступен для чтения.
Низкая точность распознавания сканированных PDFРазрешение изображения слишком низкое для сканера штрих‑кодаИспользуйте скан с более высоким разрешением (300 dpi или выше) или предварительно обработайте PDF фильтром резкости.
Ошибки Out‑of‑memory при работе с большими PDFParser удерживает слишком много страниц в памятиОбрабатывайте PDF небольшими партиями или увеличьте размер кучи JVM (-Xmx2g).

Практические применения

  1. Inventory Management — Автоматически считывать штрих‑коды из PDF‑файлов поставщиков для обновления баз данных запасов.
  2. Legal Document Verification — Извлекать QR‑code, содержащие цифровые подписи, для аудиторских следов.
  3. Data Migration — Использовать штрих‑коды как уникальные идентификаторы при переносе записей между устаревшими системами.

Соображения по производительности

  • Close the Parser promptly — Блок try‑with‑resources гарантирует освобождение дескриптора файла.
  • Monitor memory — Большие PDF могут потреблять значительный объём кучи; рассмотрите потоковую обработку или разбиение на части.

Заключение

Теперь у вас есть полное, готовое к продакшн‑использованию руководство по how to parse pdf страницам по шаблону с помощью GroupDocs.Parser для Java. Определив шаблон штрих‑кода, проходя по страницам и извлекая значения, вы можете автоматизировать практически любой процесс, основанный на штрих‑кодах.

Следующие шаги

  • Поэкспериментировать с другими типами штрих‑кодов (например, Code128, DataMatrix), изменив второй аргумент TemplateBarcode.
  • Скомбинировать несколько объектов TemplateBarcode для обработки смешанных макетов штрих‑кодов на одной странице.
  • Углубиться в API, изучив GroupDocs.Parser documentation для извлечения текста, изображений и создания пользовательских шаблонов.

Раздел 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