Този кратък урок ви напътства как да четете 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.