Как парсить PDF с помощью GroupDocs.Parser на Java

В современном мире, ориентированном на данные, как парсить PDF‑файлы эффективно может существенно повысить продуктивность. Будь то автоматизация обработки счетов, оцифровка записей или извлечение текста из PDF‑отчетов, правильная библиотека экономит время и снижает количество ошибок. В этом руководстве вы узнаете, как парсить PDF‑документы с помощью GroupDocs.Parser на Java, определить поля шаблона, создать шаблон документа и уверенно извлекать данные из PDF‑файлов.

Быстрые ответы

  • Какова основная цель GroupDocs.Parser? Извлекать структурированные данные из PDF, DOCX и других форматов документов.
  • Можно ли извлекать данные из PDF без шаблона? Да, но использование шаблона повышает точность для документов с фиксированным макетом.
  • Нужна ли лицензия для пробного использования? Доступны бесплатная пробная версия или временная лицензия для оценки.
  • Какая версия Java требуется? Java 8 или выше; библиотека работает с JDK 11, 17 и т.д.
  • Является ли Maven единственным способом добавить библиотеку? Нет, JAR можно также скачать напрямую из официального репозитория.

Что такое “как парсить PDF” с GroupDocs.Parser?

Парсинг PDF — это чтение внутренней структуры файла и извлечение нужной информации — текста, таблиц или конкретных полей — чтобы ваше приложение могло использовать её программно.

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

  • Высокая точность при работе с полями шаблона фиксированного положения.
  • Поддержка множества форматов помимо PDF (DOCX, XLSX и др.).
  • Лёгкая интеграция через Maven или прямую загрузку JAR.
  • Надёжная обработка ошибок для неподдерживаемых форматов.

Предварительные требования

Перед началом убедитесь, что у вас есть следующее:

  • GroupDocs.Parser версии 25.5 или новее.
  • Установленный Java Development Kit (JDK) 8 или новее.
  • IDE, например IntelliJ IDEA или Eclipse.
  • Maven для управления зависимостями (необязательно, но рекомендуется).

Требуемые библиотеки

  • GroupDocs.Parser версии 25.5 или новее.
  • Убедитесь, что Java Development Kit (JDK) установлен на вашем компьютере.

Требования к настройке окружения

  • Java IDE, например IntelliJ IDEA или Eclipse.
  • Maven для управления зависимостями (необязательно, но рекомендуется).

Необходимые знания

  • Базовое понимание концепций программирования на Java.
  • Знакомство со структурой PDF‑документов и полями шаблона.

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

Чтобы начать использовать GroupDocs.Parser в ваших Java‑проектах, необходимо добавить библиотеку в конфигурацию сборки.

Настройка Maven

Добавьте следующую конфигурацию в файл pom.xml, чтобы включить GroupDocs.Parser в качестве зависимости:

<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.
  • При необходимости можно приобрести полную лицензию.

После установки инициализируйте GroupDocs.Parser в проекте, импортировав необходимые классы и настроив базовые параметры. Теперь перейдём к основной реализации.

Руководство по реализации

Мы пройдём три ключевых шага: определить поля шаблона, создать шаблон документа и парсить PDF с использованием этого шаблона.

Определение полей шаблона с фиксированным положением

Точное расположение данных на странице необходимо для надёжного извлечения. Ниже приведён код для определения поля шаблона.

Шаг 1: Импорт необходимых классов

import com.groupdocs.parser.templates.TemplateField;
import com.groupdocs.parser.templates.Rectangle;
import com.groupdocs.parser.templates.Size;
import com.groupdocs.parser.templates.Point;

Шаг 2: Создание поля шаблона

// Define a rectangle for fixed positioning of the field
templateField = new TemplateField(
    new Rectangle(new Point(35, 135), new Size(100, 10)), // Coordinates and size
    "FromCompany"); // Name of the field

Этот фрагмент создаёт TemplateField с именем FromCompany, расположенный в точке (35, 135) и имеющий размер 100 × 10 пунктов. Такое точное позиционирование помогает парсеру извлекать данные из PDF‑документов, у которых макет не меняется.

Создание шаблона документа с определёнными полями

Теперь объединим поля в переиспользуемый шаблон.

Шаг 1: Импорт необходимых классов

import com.groupdocs.parser.templates.Template;
import com.groupdocs.parser.templates.TemplateItem;
import java.util.Arrays;

Шаг 2: Создание и добавление полей шаблона

// Construct a template with specified fields
template = new Template(Arrays.asList(new TemplateItem[]{field}));

Все определённые поля теперь входят в один шаблон документа, готовый к парсингу.

Парсинг PDF с использованием шаблона

С готовым шаблоном можно извлекать нужную информацию из любого соответствующего PDF.

Шаг 1: Импорт необходимых классов

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.DocumentData;
import com.groupdocs.parser.data.PageTextArea;
import com.groupdocs.parser.exceptions.UnsupportedDocumentFormatException;

Шаг 2: Парсинг документа

String inputFilePath = "YOUR_DOCUMENT_DIRECTORY/sample_invoice.pdf"; // Replace with your document path

try (Parser parser = new Parser(inputFilePath)) {
    if (!parser.getFeatures().isText()) {
        throw new UnsupportedDocumentFormatException("The document format is not supported.");
    }

    // Parse the document using the template
    DocumentData data = parser.parseByTemplate(template);

    // Extract and print all relevant data from the parsed document
    for (int i = 0; i < data.getCount(); i++) {
        Object pageArea = data.get(i).getPageArea();
        PageTextArea area = pageArea instanceof PageTextArea ? (PageTextArea) pageArea : null;

        // Output extracted field name and text content if available
        String fieldName = data.get(i).getName();
        String fieldValue = area == null ? "Not a template field" : area.getText();
    }
} catch (UnsupportedDocumentFormatException e) {
    System.err.println("Error: " + e.getMessage());
}

Код открывает PDF, проверяет, поддерживается ли извлечение текста, парсит файл с шаблоном и затем перебирает каждое извлечённое поле. Если формат документа не поддерживается, генерируется понятное исключение.

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

GroupDocs.Parser проявляет себя в реальных сценариях:

  1. Обработка счетов — автоматическое извлечение дат, сумм и названий поставщиков.
  2. Извлечение данных из форм — захват заполненных полей со сканированных форм.
  3. Управление контрактами — определение ключевых условий, сторон и дат в контрактах.

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

  • Своевременно освобождайте объекты Parser, чтобы освободить память.
  • Делайте шаблоны как можно проще; лишние поля создают дополнительную нагрузку.
  • Регулярно обновляйте библиотеку, чтобы получать патчи производительности.

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

ПроблемаРешение
Ошибка неподдерживаемого форматаУбедитесь, что PDF содержит извлекаемый текст (а не только изображения). При необходимости используйте предварительную обработку OCR.
Неправильные значения полейПроверьте координаты прямоугольника; используйте PDF‑просмотрщик для точного измерения позиций.
Резкие скачки памяти при больших файлахПарсите страницы по отдельности или увеличьте размер кучи JVM (-Xmx).

Часто задаваемые вопросы

В: Что такое GroupDocs.Parser?
О: Java‑библиотека, извлекающая структурированные данные из PDF, DOCX, XLSX и других форматов документов.

В: Как обрабатывать неподдерживаемые форматы документов?
О: Используйте обработку исключений (как показано) для перехвата UnsupportedDocumentFormatException и информируйте пользователя корректным сообщением.

В: Можно ли извлекать изображения из PDF с помощью GroupDocs.Parser?
О: Да, но необходимо убедиться, что функции извлечения изображений включены для вашего типа документа.

В: Какие общие шаги по устранению неполадок, если
О: (В оригинальном руководстве этот пункт был обрезан; продолжайте устранение неполадок, проверяя права доступа к файлам, соответствие координат шаблона макету PDF и использование последней версии библиотеки.)

Заключение

Поздравляем! Теперь вы знаете как парсить PDF с помощью GroupDocs.Parser Java, от определения точных полей шаблона до надёжного извлечения данных. Создавая переиспользуемый шаблон документа, вы можете автоматизировать повторяющиеся задачи по захвату данных и сосредоточиться на более ценных задачах.

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

  • Попробуйте парсить другие типы документов (DOCX, XLSX).
  • Поэкспериментируйте с интеграцией OCR для сканированных PDF.
  • Исследуйте продвинутые возможности, такие как извлечение таблиц и пользовательские процессоры данных.

Для получения более подробной информации посетите официальную GroupDocs Documentation и присоединяйтесь к сообществу на Support Forum.


Последнее обновление: 2026-01-09
Тестировано с: GroupDocs.Parser 25.5
Автор: GroupDocs