Как извлечь текст из PDF с помощью GroupDocs.Parser на Java

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

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

  • Какая библиотека лучше всего подходит для извлечения текста PDF в Java? GroupDocs.Parser for Java.
  • Могу ли я извлечь необработанный текст PDF без форматирования? Да—используйте TextOptions(true) для необработанного режима.
  • Нужна ли лицензия для запуска кода? Бесплатная пробная лицензия подходит для разработки; платная лицензия требуется для продакшн.
  • Поддерживается ли Maven? Конечно—add the GroupDocs repository and dependency to your pom.xml.
  • Будет ли это работать с большими PDF? Да, when you use try‑with‑resources to manage memory.

Что такое извлечение текста PDF в Java?

Извлечение текста PDF означает чтение символов, хранящихся внутри PDF‑файла, и возврат их в виде обычных строк. Это полезно для индексации, аналитики, миграции контента или автоматической генерации отчетов. С помощью GroupDocs.Parser вы можете extract extract pdf text java быстро и с высокой точностью.

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

  • Высокая точность – Обрабатывает сложные макеты, таблицы и многоязычные документы.
  • Простой API – Требуется минимум кода для получения необработанного текста.
  • Ориентировано на производительность – Чтение на основе потоков уменьшает нагрузку на память.
  • Кросс‑платформенный – Работает в любой среде, совместимой с JVM.

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

  • Java Development Kit (JDK) 8 or newer.
  • Maven установлен (или возможность добавить JAR вручную).
  • Действительная лицензия GroupDocs.Parser (бесплатная пробная версия подходит для тестирования).

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

Использование Maven

Добавьте репозиторий GroupDocs и зависимость parser в ваш 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>

Прямое скачивание

Если вы предпочитаете не использовать Maven, скачайте последнюю JAR‑файл с официального сайта: GroupDocs.Parser for Java releases.

Шаги получения лицензии

Получите бесплатную пробную лицензию или приобретите полную лицензию на сайте GroupDocs. После получения файла лицензии настройте его в вашем приложении, как описано в документации.

Базовая инициализация и настройка

Ниже приведён минимальный код, необходимый для создания экземпляра Parser:

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.options.TextOptions;

String pdfFilePath = "YOUR_DOCUMENT_DIRECTORY/sample.pdf";

try (Parser parser = new Parser(pdfFilePath)) {
    // Your code to extract text goes here
}

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

Мы разобьём процесс извлечения на чёткие, пронумерованные шаги, чтобы вам было легко следовать.

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

Убедитесь, что присутствуют следующие импорты:

import com.groupdocs.parser.Parser;
import com.groupdocs.parser.data.TextReader;
import com.groupdocs.parser.options.IDocumentInfo;
import com.groupdocs.parser.options.TextOptions;

Шаг 2: Инициализировать объект Parser

Создайте экземпляр Parser, указывая путь к вашему PDF‑файлу:

try (Parser parser = new Parser(pdfFilePath)) {
    // Further processing code
}

Шаг 3: Получить информацию о документе

Получение информации о документе позволяет узнать количество доступных страниц:

IDocumentInfo documentInfo = parser.getDocumentInfo();

Шаг 4: Пройти по каждой странице и извлечь необработанный текст

Итерируйте по каждой странице и получайте необработанный текст. TextOptions(true) указывает GroupDocs.Parser возвращать неформатированный текст, что идеально подходит для конвейеров обработки данных.

for (int p = 0; p < documentInfo.getRawPageCount(); p++) {
    try (TextReader reader = parser.getText(p, new TextOptions(true))) {
        String pageText = reader.readToEnd();
        System.out.println(pageText); // Output the extracted text for each page
    }
}

Параметры и объяснение методов

  • parser.getText(int pageNumber, TextOptions options): Извлекает текст с конкретной страницы. Установка TextOptions(true) возвращает extract raw pdf text без информации о макете.
  • reader.readToEnd(): Читает весь поток в одну строку String.

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

СимптомВероятная причинаРешение
FileNotFoundExceptionНеправильный путь к файлуПроверьте, что pdfFilePath указывает на существующий файл, и при необходимости используйте абсолютные пути.
Пустой выводPDF является отсканированным изображениемGroupDocs.Parser извлекает текст только из поисковых PDF; используйте OCR‑дополнение для отсканированных изображений.
Ошибки нехватки памяти при больших PDFНе освобождаются ресурсыВсегда используйте try‑with‑resources (как показано) для закрытия Parser и TextReader.

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

  1. Анализ данных – Получайте отзывы клиентов из PDF‑отчетов для анализа настроений.
  2. Автоматическая отчетность – Генерируйте резюме, извлекая ключевые разделы из нескольких PDF.
  3. Миграция контента – Переносите устаревший PDF‑контент в базы данных или системы управления контентом.

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

  • Управление памятью: Используйте шаблон try‑with‑resources (уже продемонстрировано) для быстрого освобождения нативных ресурсов.
  • Избирательное извлечение: Если нужны только определённые страницы, перебирайте подмножество documentInfo.getRawPageCount().
  • Параллельная обработка: Для больших пакетов рассмотрите обработку PDF в параллельных потоках, соблюдая ограничения памяти JVM.

Заключение

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

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

  • Экспериментируйте с TextOptions, чтобы включать форматирование или извлекать определённые разделы.
  • Объединяйте извлечённый текст с библиотеками обработки естественного языка (NLP) для более глубоких инсайтов.
  • Исследуйте другие возможности GroupDocs.Parser, такие как извлечение изображений или метаданных.

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

Q: Что такое GroupDocs.Parser?
A: Это Java‑библиотека, которая извлекает текст, метаданные и изображения из более чем 100 форматов документов, включая PDF.

Q: Как обрабатывать PDF, защищённые паролем?
A: Передайте пароль в конструктор Parser: new Parser(pdfPath, "password").

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

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

Q: Что делать, если в извлечённом тексте отсутствуют символы?
A: Убедитесь, что PDF содержит выбираемый текст (а не отсканированные изображения). Для отсканированных PDF используйте OCR‑дополнение или OCR‑библиотеку.


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

Ресурсы