У цій публікації ви дізнаєтеся, як легко видобувати текст із файлів PDF за допомогою Java. Виділення тексту може бути корисним у різних сценаріях, таких як аналіз тексту, пошук інформації, розбір документів тощо. Оскільки PDF є одним із найбільш широко використовуваних цифрових документів, випадків використання вилучення тексту з PDF-документів більше. Тож давайте почнемо та перевіримо, як виконати вилучення тексту PDF із програм Java.
- Java Text Extraction API — безкоштовне завантаження
- Витягніть текст із 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 for 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-файли з простих текстів.