Ten krótki samouczek poprowadzi Cię jak czytać plik PDF w Javie. Zawiera kod Java do odczytu pliku PDF tak, że najpierw odczytujesz tekst z PDF w Javie do łańcucha, a następnie pobierasz wszystkie obrazy z pliku PDF, aby zapisać je na dysku jako JPG. Nie ma potrzeby instalowania żadnego narzędzia innej firmy, aby odczytywać pliki PDF w Javie.
Kroki, aby przeczytać plik PDF w Javie
- Skonfiguruj Aspose.PDF w swoim projekcie, korzystając z repozytorium Maven do odczytu pliku PDF
- Załaduj przykładowy plik PDF do obiektu klasy Document
- Utwórz instancję obiektu klasy TextAbsorber, który może odczytać cały tekst z pliku PDF
- Odczytaj tekst PDF z załadowanego pliku za pomocą obiektu klasy TextAbsorber
- Wyświetl cały tekst odczytany z pliku PDF na konsoli
- Przejrzyj wszystkie strony w pliku PDF, aby uzyskać dostęp do obrazów
- Przeanalizuj wszystkie obrazy z każdej kolekcji obrazów stron i zapisz je na dysku
W tym krótkim samouczku krok po kroku najpierw ładujemy docelowy plik PDF, a następnie inicjujemy obiekt klasy TextAbsorber, który jest w stanie przeszukiwać tekst na wszystkich stronach w pliku PDF. Cały ten tekst jest zwracany do łańcucha, który można wyświetlić lub przetworzyć zgodnie z wymaganiami. Podobnie możemy przeanalizować wszystkie obrazy w kolekcji obrazów i zapisać je na dysku w dowolnym formacie, tak jak zapisaliśmy go jako JPG w tym samouczku.
Kod do odczytu plików PDF przy użyciu języka 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; | |
} | |
} | |
} |
W tym przykładowym kodzie użyliśmy klasy TextAbsorber i funkcji getImages() metody Page.getResources() do odczytywania plików PDF przy użyciu języka Java. Obiekt TextAbsorber służy do odczytywania tekstu przez funkcję accept w PDF PageCollection. Natomiast funkcja getImages() kolekcji getResources() zwraca wszystkie obrazy na stronie.
Pamiętaj, że te kroki, aby odczytać plik PDF w Javie, można wykonać w dowolnym systemie operacyjnym, takim jak Windows, Linux lub macOS. Jeśli chcesz dowiedzieć się więcej o pracy z plikami PDF, zapoznaj się z artykułem na jak czytać zakładki w PDF przy użyciu Java.