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

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

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

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

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

GroupDocs.Parser — это Java‑библиотека, которая читает внутреннюю структуру PDF‑файлов и извлекает необходимую информацию — текст, таблицы или конкретные поля — чтобы ваше приложение могло программно их использовать. Она поддерживает pdf parsing java более чем 50 входных и выходных форматов, обрабатывая файлы до нескольких сотен страниц без загрузки всего документа в память.

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

GroupDocs.Parser обеспечивает высокоточное извлечение (до 99,5 % совпадения полей в шаблонах фиксированных позиций) и широкую поддержку форматов (более 50 форматов, включая PDF, DOCX, XLSX, PPTX, HTML и распространённые типы изображений). Библиотека также предоставляет встроенную обработку ошибок для неподдерживаемых форматов, делая её надёжным выбором для корпоративных parse pdf java проектов.

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

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

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

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

  • GroupDocs.Parser версия 25.5 или новее.
  • Java Development Kit (JDK) 8 или новее.

Требования к настройке среды

  • Интегрированная среда разработки 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: Создание поля шаблона

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

// 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 пунктов. Такое точное размещение помогает парсеру extract PDF data из документов, где макет никогда не меняется.

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

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

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

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

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

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

DocumentTemplate — контейнер, который хранит один или несколько объектов TemplateField и управляет процессом извлечения.

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

Все определённые поля теперь являются частью единого document template, готового к парсингу.

Определение якоря: DocumentTemplate — контейнер, который хранит один или несколько объектов TemplateField и управляет процессом извлечения.

Парсинг 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: Парсинг документа

Parser — основной класс, который читает документ, применяет DocumentTemplate и возвращает извлечённые значения полей.

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, проверяет, поддерживается ли извлечение текста, парсит файл с шаблоном и затем перебирает каждое извлечённое поле. Если формат документа не поддерживается, генерируется понятное исключение.

Определение якоря: Parser — основной класс, который читает документ, применяет DocumentTemplate и возвращает извлечённые значения полей.

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

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

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

Эти примеры показывают, почему how to parse PDF программно является критически важной возможностью для современных предприятий.

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

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

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

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

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

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

В: Как обрабатывать неподдерживаемые форматы документов?
О: Перехватывайте UnsupportedDocumentFormatException, как показано в примере кода; информируйте пользователя и при необходимости переключайтесь на другой процесс обработки.

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

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

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

Заключение

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

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

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

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


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

Связанные учебники