Как парсить 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 проявляет себя в реальных сценариях:
- Обработка счетов — автоматическое извлечение дат, сумм и названий поставщиков.
- Извлечение данных из форм — захват заполненных полей со сканированных форм.
- Управление контрактами — определение ключевых условий, сторон и дат в контрактах.
Соображения по производительности
- Своевременно освобождайте объекты
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