извлечь текст из pdf java

В этом посте вы узнаете, как легко извлекать текст из файлов PDF с помощью Java. Извлечение текста может быть полезно в различных сценариях, таких как анализ текста, поиск информации, анализ документов и т. д. Поскольку PDF является одним из наиболее широко используемых цифровых документов, случаев извлечения текста из PDF-документов больше. Итак, давайте начнем и проверим, как выполнять извлечение текста PDF из приложений Java.

Java API для извлечения текста из PDF — скачать бесплатно

Aspose.PDF for Java — это хорошо известный API для работы с PDF-файлами, который предоставляет широкий спектр функций для создания и обработки PDF-файлов. API содержит мощное средство извлечения текста, которое предоставляет различные способы извлечения текста из документов PDF с помощью нескольких строк кода. Вы можете либо скачать JAR-файл API, либо установить его в свои приложения на основе Maven, используя следующие конфигурации.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>20.11</version>
</dependency>

Извлечь текст из PDF с помощью Java

Ниже приведены шаги для извлечения текста из документа PDF с помощью Aspose.PDF для Java.

  • Используйте класс Document для загрузки файла PDF.
  • Создайте объект класса TextAbsorber.
  • Примите TextAbsorber для всех страниц PDF, используя метод Document.getPages().accept(TextAbsorber).
  • Используйте метод TextAbsorber.getText(), чтобы получить весь текст из PDF.
  • Сохраните текст в файл TXT (необязательно).

В следующем примере кода показано, как извлечь текст из PDF с помощью Java.

// Полные примеры и файлы данных см. на странице https://github.com/aspose-pdf/Aspose.Pdf-for-Java.
// Открыть документ
Document pdfDocument = new Document("input.pdf");

// Создайте объект TextAbsorber для извлечения текста
TextAbsorber textAbsorber = new TextAbsorber();

// Примите поглотитель для всех страниц
pdfDocument.getPages().accept(textAbsorber);

// Получить извлеченный текст
String extractedText = textAbsorber.getText();

// Создайте писатель и откройте файл
java.io.FileWriter writer = new java.io.FileWriter(new java.io.File("Extracted_text.txt"));
writer.write(extractedText);

// Записать строку текста в файл tw.WriteLine(extractedText);
// Закрыть поток
writer.close();

Извлечь текст с определенной страницы в PDF

Вы также можете извлечь текст с определенной страницы документа PDF, выполнив следующие действия.

В следующем примере кода показано, как извлечь текст с определенной страницы в PDF с помощью Java.

// Полные примеры и файлы данных см. на странице https://github.com/aspose-pdf/Aspose.Pdf-for-Java.
// открыть документ
Document pdfDocument = new Document("input.pdf");
// создать текстовое устройство
TextDevice textDevice = new TextDevice();

// установить параметры извлечения текста - установить режим извлечения текста (Raw или Pure)
TextExtractionOptions textExtOptions = new TextExtractionOptions(TextExtractionOptions.TextFormattingMode.Raw);

textDevice.setExtractionOptions(textExtOptions);

// получить текст с первой страницы PDF и сохранить его в формате файла
textDevice.process(pdfDocument.getPages().get_Item(1), "ExtractedText.txt");

Извлечь текст из области страницы в PDF

Вы также можете извлечь текст из определенной области страницы в формате PDF. Для этого вы можете определить прямоугольник, чтобы покрыть область, из которой вам нужно извлечь текст. Ниже приведены шаги для извлечения текста из области страницы.

В следующем примере кода показано, как извлечь текст из определенной области страницы в Java.

// Полные примеры и файлы данных см. на странице https://github.com/aspose-pdf/Aspose.Pdf-for-Java.
// открыть документ
Document doc = new Document("page_0001.pdf");

// создать объект TextAbsorber для извлечения текста
TextAbsorber absorber = new TextAbsorber();
absorber.getTextSearchOptions().setLimitToPageBounds(true);
absorber.getTextSearchOptions().setRectangle(new Rectangle(100, 200, 250, 350));
// принять поглотитель для первой страницы
doc.getPages().get_Item(1).accept(absorber);

// получить извлеченный текст
String extractedText = absorber.getText();
// создать писатель и открыть файл
BufferedWriter writer = new BufferedWriter(new FileWriter(new java.io.File("ExtractedText.txt")));
// записать извлеченное содержимое
writer.write(extractedText);
// Близкий писатель
writer.close();

Вывод

В этой статье вы узнали, как извлечь текст из PDF с помощью Java. Вы видели различные способы извлечения текста, такие как извлечение текста из всего PDF-файла, определенной страницы или определенной области страницы. Вы можете узнать больше о Java PDF API, используя документацию.

Смотрите также

Информация: Aspose недавно разработал бесплатный онлайн-сервис Text to GIF, который позволяет анимировать тексты или создавать GIF-файлы из простых текстов.