Это краткое руководство расскажет вам, как читать PDF-файл в Java. Он содержит код Java для чтения PDF-файла, так что сначала вы читаете текст из PDF на Java в строку, а затем извлекаете все изображения из PDF-файла, чтобы сохранить их на диске как JPG. Нет необходимости устанавливать какой-либо сторонний инструмент для чтения PDF на Java.
Шаги для чтения PDF-файла в Java
- Настройте Aspose.PDF в своем проекте, используя репозиторий Maven для чтения PDF-файла.
- Загрузите образец PDF-файла в объект класса Document.
- Создайте объект класса TextAbsorber, который может читать весь текст из файла PDF.
- Чтение текста PDF из загруженного файла с помощью объекта класса TextAbsorber
- Отображение всего текста, прочитанного из файла PDF, на консоли
- Переберите все страницы в файле PDF для доступа к изображениям.
- Разобрать все изображения на каждой странице коллекции изображений и сохранить их на диск
В этом кратком пошаговом руководстве мы сначала загружаем целевой 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.