У цьому короткому посібнику ви дізнаєтеся, як читати 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.