Как читать PDF-файл в Java

Это краткое руководство расскажет вам, как читать PDF-файл в Java. Он содержит код Java для чтения PDF-файла, так что сначала вы читаете текст из PDF на Java в строку, а затем извлекаете все изображения из PDF-файла, чтобы сохранить их на диске как JPG. Нет необходимости устанавливать какой-либо сторонний инструмент для чтения PDF на Java.

Шаги для чтения PDF-файла в Java

  1. Настройте Aspose.PDF в своем проекте, используя репозиторий Maven для чтения PDF-файла.
  2. Загрузите образец PDF-файла в объект класса Document.
  3. Создайте объект класса TextAbsorber, который может читать весь текст из файла PDF.
  4. Чтение текста PDF из загруженного файла с помощью объекта класса TextAbsorber
  5. Отображение всего текста, прочитанного из файла PDF, на консоли
  6. Переберите все страницы в файле PDF для доступа к изображениям.
  7. Разобрать все изображения на каждой странице коллекции изображений и сохранить их на диск

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

Код для чтения PDF с использованием Java

import com.aspose.pdf.License;
import com.aspose.pdf.Document;
import com.aspose.pdf.Page;
import com.aspose.pdf.TextAbsorber;
import com.aspose.pdf.XImage;
public class HowToReadPDFFileInJava {
public static void main(String[] args) throws Exception {//main() function for HowToReadPDFFileInJava
// Instantiate the license to remove trial version restrictions while reading the PDF file
License license = new License();
license.setLicense("Aspose.PDF.lic");
// Load the PDF file from which text and images are to be read
Document pdf = new Document("Input.pdf");
// 1. Read entire text from the PDF file
// Instantiate a TextAbsorber Class object to read Text from PDF file
TextAbsorber textAbsorberObject = new TextAbsorber();
// Call PageCollection.accept() method to let TextAbsorber find text in PDF Pages
pdf.getPages().accept(textAbsorberObject);
// Write the extracted text from the sample PDF to console
System.out.println(textAbsorberObject.getText());
// 2. Extract images from PDF file
int imageCount = 1;
// Iterate through all the PDF pages to access images collection and save them on the disc
for (Page pdfPage : pdf.getPages())
{
// Iterate through images collection in the PDF file
for (XImage image : pdfPage.getResources().getImages())
{
java.io.FileOutputStream outputImageFromPdfFile = new java.io.FileOutputStream(pdfPage.getNumber() + "-"+ imageCount+"-output.jpg");
// Save each image in the PDF file images collection to a JPG file
image.save(outputImageFromPdfFile);
outputImageFromPdfFile.close();
imageCount++;
}
// Reset image index
imageCount = 1;
}
}
}

В этом примере кода мы использовали класс TextAbsorber и функцию getImages() из Page.getResources() для чтения PDF с помощью Java. Объект TextAbsorber используется для чтения текста функцией принятия в PDF PageCollection. В то время как функция getImages() коллекции getResources() возвращает все изображения на странице.

Обратите внимание, что эти шаги для чтения PDF на Java можно выполнить в любой из операционных систем, таких как Windows, Linux или macOS. Если вы хотите узнать больше о работе с файлами PDF, обратитесь к статье как читать закладки в PDF с помощью Java.

 Русский