В этом посте вы узнаете, как легко извлекать текст из файлов PDF с помощью Java. Извлечение текста может быть полезно в различных сценариях, таких как анализ текста, поиск информации, анализ документов и т. д. Поскольку PDF является одним из наиболее широко используемых цифровых документов, случаев извлечения текста из PDF-документов больше. Итак, давайте начнем и проверим, как выполнять извлечение текста PDF из приложений Java.
- API извлечения текста Java — скачать бесплатно
- Извлечь текст из PDF с помощью Java
- Извлечь текст с определенной страницы в PDF
- Извлечение текста из области страницы в PDF
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, выполнив следующие действия.
- Используйте класс Document для загрузки файла PDF.
- Создайте экземпляр класса TextDevice.
- Определите дополнительные параметры с помощью класса TextExtractionOptions.
- Задайте параметры с помощью метода TextDevice.setExtractionOptions(TextExtractionOptions).
- Используйте TextDevice.Process(Page, String) для извлечения текста с указанной страницы.
В следующем примере кода показано, как извлечь текст с определенной страницы в 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. Для этого вы можете определить прямоугольник, чтобы покрыть область, из которой вам нужно извлечь текст. Ниже приведены шаги для извлечения текста из области страницы.
- Используйте класс Document для загрузки файла PDF.
- Создайте объект класса TextAbsorber.
- Установите ограничение на привязку страницы и создайте прямоугольник, используя TextAbsorber.getTextSearchOptions().setLimitToPageBounds(true) и TextAbsorber.getTextSearchOptions().setRectangle(new Rectangle(100, 200, 250, 350)) методы соответственно.
- Примите поглотитель для конкретной страницы.
- Используйте метод TextAbsorber.getText() для извлечения текста.
В следующем примере кода показано, как извлечь текст из определенной области страницы в 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-файлы из простых текстов.