Извлечение данных PDF‑формы с помощью GroupDocs.Parser на Java

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

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

  • Какая библиотека извлекает данные PDF‑формы? GroupDocs.Parser for Java
  • Можно ли читать поля PDF‑формы и изображения? Да — поддерживаются как текстовые поля, так и встроенные изображения
  • Нужна ли лицензия? Бесплатная пробная версия подходит для оценки; для продакшн‑использования требуется коммерческая лицензия
  • Какая версия Java требуется? Java 8 или новее
  • Можно ли выполнять параллельную обработку? Да, можно одновременно разбирать несколько PDF‑файлов для сценариев с высокой пропускной способностью

Что такое извлечение данных PDF‑формы?

Извлечение данных PDF‑формы означает программное чтение значений, введённых в интерактивные поля (текстовые поля, флажки, выпадающие списки и т.д.) внутри PDF‑формы. Это позволяет переносить данные из статических документов в базы данных, CRM‑системы или любые последующие процессы без ручной транскрипции.

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

  • Высокая точность: Обрабатывает сложные макеты и сохраняет имена полей.
  • Широкая поддержка форматов: Работает с PDF, Word, Excel и другими.
  • Простой API: Требуется минимум кода для получения значений полей.
  • Ориентированность на производительность: Поддерживает потоковую обработку и выборочный разбор, чтобы снизить использование памяти.

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

  • Java Development Kit (JDK): Java 8 или новее
  • Maven: Для управления зависимостями и сборки проекта
  • Базовые знания Java: Знакомство с классами, методами и концепциями ООП

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

Интегрируйте GroupDocs.Parser в ваш проект с помощью Maven или загрузив библиотеку напрямую.

Интеграция через Maven

Добавьте репозиторий и зависимость в ваш файл pom.xml:

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

Прямая загрузка

Alternatively, download the latest version from выпуски GroupDocs.Parser для Java.

Приобретение лицензии

  • Бесплатная пробная версия: Получите временную лицензию для тестирования функций GroupDocs.Parser.
  • Покупка: Приобретите полную лицензию для коммерческого использования.

После того как библиотека будет доступна, вы можете создать экземпляр Parser для работы с PDF‑формами:

import com.groupdocs.parser.Parser;

public class PdfFormExtractor {
    public static void main(String[] args) {
        try (Parser parser = new Parser("YOUR_DOCUMENT_DIRECTORY/SampleCarWashPdf.pdf")) {
            // Parse form fields from the document here...
        }
    }
}

Как извлечь данные PDF‑формы

Шаг 1: Разбор полей формы

Начните с создания объекта Parser и вызова parseForm(), чтобы получить структуру формы:

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.DocumentData;

public class ExtractDataFromPdfFormsFeature {
    public static void run() {
        String filePath = "YOUR_DOCUMENT_DIRECTORY/SampleCarWashPdf.pdf";

        try (Parser parser = new Parser(filePath)) {
            DocumentData data = parser.parseForm();
            
            if (data == null) {
                System.out.println("Form extraction isn't supported.");
                return;
            }
            // Continue to extract field values...
        }
    }
}

Шаг 2: Извлечение значений полей

Используйте имя поля, чтобы получить текстовое содержимое из каждого объекта FieldData. Этот метод также демонстрирует, как безопасно читать поля PDF‑формы:

import com.groupdocs.parser.data.FieldData;
import com.groupdocs.parser.data.PageTextArea;

private static String getFieldText(DocumentData data, String fieldName) {
    FieldData fieldData = data.getFieldsByName(fieldName).get(0);
    
    return fieldData != null && fieldData.getPageArea() instanceof PageTextArea
            ? ((PageTextArea) fieldData.getPageArea()).getText()
            : null;
}

Шаг 3: Создание объекта записи

Сохраните извлечённые значения в структурированную запись, чтобы их можно было сохранять или отправлять в другие системы:

static class PreliminaryRecord {
    public String Name;
    public String Model;
    public String Time;
    public String Description;
}

// Extracted values are then assigned to the record fields:
PreliminaryRecord rec = new PreliminaryRecord();
rec.Name = getFieldText(data, "Name");
rec.Model = getFieldText(data, "Model");
rec.Time = getFieldText(data, "Time");
rec.Description = getFieldText(data, "Description");

Создание объекта записи для хранения извлечённых данных

Чётко определённый объект упрощает интеграцию извлечённой информации с базами данных, API или CRM‑платформами.

Обзор

Создание структурированного объекта помогает управлять данными формы и интегрировать их в более крупные системы.

Шаги реализации

  1. Инициализировать объект записи: Создать экземпляр PreliminaryRecord.
  2. Заполнить извлечёнными значениями: Использовать приведённый выше вспомогательный метод для заполнения объекта.
public class CreateRecordObjectFeature {
    public static void createAndPopulateRecord() {
        PreliminaryRecord rec = new PreliminaryRecord();
        
        // Simulated extracted values for demonstration:
        rec.Name = "John Doe";
        rec.Model = "Tesla Model S";
        rec.Time = "10:00 AM";
        rec.Description = "Routine service check";
        
        // Now, the record object 'rec' can be used further.
    }
}

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

  • Автоматический ввод данных: Извлекать данные о клиентах или заказах из PDF‑форм непосредственно в ваш бекенд.
  • Обработка счетов: Извлекать номера счетов, даты и суммы для ускорения сверки.
  • Анализ ответов опросов: Собирать ответы из PDF‑анкеты для отчётности.
  • Управление медицинскими записями: Извлекать информацию о пациентах для систем электронных медицинских записей (EHR).
  • Интеграция с CRM‑системами: Заполнять лиды и контакты в реальном времени из заполненных PDF‑форм.

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

  • Управление памятью: Используйте try‑with‑resources (как показано), чтобы гарантировать своевременное закрытие экземпляров Parser.
  • Выборочный разбор: Запрашивайте только необходимые поля, чтобы снизить нагрузку на процессор.
  • Потокобезопасность: При обработке большого количества PDF‑файлов запускайте каждый экземпляр Parser в отдельном потоке; библиотека потокобезопасна при таком использовании.

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

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

Q: Как работать с зашифрованными PDF?
A: Укажите пароль при создании экземпляра Parser; библиотека автоматически расшифрует документ.

Q: Какие другие форматы файлов поддерживаются, помимо PDF?
A: API также разбирает документы Word, таблицы Excel, презентации PowerPoint и многие другие.

Q: Как лучше всего обрабатывать большие объёмы PDF?
A: Сочетайте параллельные потоки с исполнителем пула потоков, чтобы одновременно разбирать несколько файлов, соблюдая ограничения памяти.

Q: Требуется ли коммерческая лицензия для продакшн‑использования?
A: Да, для продакшн‑развёртываний необходима полная лицензия; бесплатная пробная версия доступна для оценки.

Заключение

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


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