витягти текст з 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 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-документа, виконавши такі дії.

У наведеному нижче прикладі коду показано, як витягти текст із певної сторінки в 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-файли з простих текстів.