Как извлечь текст из 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. |
Практические применения
- Анализ данных – Получайте отзывы клиентов из PDF‑отчетов для анализа настроений.
- Автоматическая отчетность – Генерируйте резюме, извлекая ключевые разделы из нескольких PDF.
- Миграция контента – Переносите устаревший 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
Ресурсы