
PDF to najczęściej używany format dokumentu cyfrowego. Możemy analizować dokumenty PDF i programowo wyodrębniać z nich tekst i obrazy. Może to być przydatne w kilku przypadkach, takich jak analiza tekstu, wyszukiwanie informacji, konwersja dokumentów itp. W tym artykule dowiemy się, jak wyodrębnić tekst i obrazy z dokumentów PDF przy użyciu języka Java.
W tym artykule zostaną omówione następujące tematy:
- API Java do wyodrębniania tekstu i obrazów z dokumentów PDF
- Wyodrębnij tekst z dokumentów PDF za pomocą Java
- Wyodrębnij tekst z określonych stron dokumentu PDF za pomocą języka Java
- Pobieraj obrazy z dokumentów PDF przy użyciu języka Java
- Wyodrębnij obrazy z określonych stron dokumentu PDF za pomocą języka Java
- Wyodrębniaj i zapisuj obrazy do plików przy użyciu języka Java
API Java do wyodrębniania tekstu i obrazów z dokumentów PDF
Do wyodrębniania tekstu i obrazów z dokumentów PDF będziemy używać API GroupDocs.Parser for Java. Umożliwia wyodrębnianie surowego, sformatowanego i ustrukturyzowanego tekstu, metadanych i obrazów z plików w obsługiwanych formatach. Pobierz plik JAR interfejsu API lub dodaj następującą konfigurację pom.xml w aplikacji Java opartej na Maven.
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>https://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-parser</artifactId>
<version>22.3</version>
</dependency>
Ekstrakcja tekstu w formacie Java w formacie PDF
Możemy przeanalizować dowolny dokument PDF i wyodrębnić tekst, wykonując poniższe czynności:
- Najpierw załaduj plik PDF przy użyciu klasy Parser.
- Następnie wywołaj metodę Parser.getText() w celu wyodrębnienia tekstu z załadowanego dokumentu.
- Następnie uzyskaj wyniki w obiekcie klasy TextReader.
- Na koniec wywołaj metodę TextReader.readToEnd(), aby odczytać wszystkie znaki od bieżącej pozycji do końca czytnika tekstu i zwrócić je jako jeden ciąg.
Poniższy przykładowy kod pokazuje, jak wyodrębnić tekst z pliku PDF przy użyciu języka Java.
// Ten przykład kodu demonstruje, jak analizować plik PDF i wyodrębniać tekst.
// Utwórz instancję klasy Parser
Parser parser = new Parser("D:\\Files\\Parser\\sample.pdf");
// Wyodrębnij tekst do czytnika
try (TextReader reader = parser.getText()) {
// Wydrukuj tekst z dokumentu
// Jeśli wyodrębnianie tekstu nie jest obsługiwane, czytnik ma wartość null
System.out.println(reader == null ? "Text extraction isn't supported" : reader.readToEnd());
}

Wyodrębnij tekst z dokumentów PDF za pomocą Java
Wyodrębnij tekst z określonej strony dokumentu PDF za pomocą języka Java
Możesz analizować dokument PDF i wyodrębniać tekst z określonej strony, wykonując proste kroki wymienione poniżej:
- Najpierw załaduj plik PDF przy użyciu klasy Parser.
- Następnie pobierz informacje o dokumencie za pomocą metody Parser.getDocumentInfo().
- Następnie sprawdź, czy IDocumentInfo.getPageCount() nie wynosi zero.
- Następnie wywołaj metodę Parser.getText() z indeksem strony, aby wyodrębnić tekst z tej konkretnej strony i uzyskać wyniki w obiekcie klasy TextReader.
- Na koniec pokaż wyniki, wywołując metodę TextReader.readToEnd() w celu odczytania wyodrębnionego tekstu.
Poniższy przykładowy kod pokazuje, jak wyodrębnić tekst z określonej strony przy użyciu języka Java.
// Ten przykład kodu demonstruje, jak analizować plik PDF i wyodrębniać tekst z określonej strony.
// Utwórz instancję klasy Parser
Parser parser = new Parser("D:\\Files\\Parser\\sample.pdf");
// Uzyskaj informacje o dokumencie
IDocumentInfo documentInfo = parser.getDocumentInfo();
// Sprawdź, czy dokument ma strony
if (documentInfo == null || documentInfo.getRawPageCount() == 0) {
System.out.println("Document hasn't pages.");
return;
}
// Wyodrębnij tekst do czytnika
try (TextReader reader = parser.getText(1)) {
// Wydrukuj tekst z dokumentu
// Jeśli wyodrębnianie tekstu nie jest obsługiwane, czytnik ma wartość null
System.out.println(reader.readToEnd());
}
API umożliwia także sprawdzenie, czy dokument obsługuje funkcję wyodrębniania tekstu. W tym celu możemy wykorzystać właściwość Parser.getFeatures().isText(). Przeczytaj więcej o obsługiwanych funkcjach.
Wyodrębnij obrazy z pliku PDF (Java)
Możemy przeanalizować dowolny dokument PDF i wyodrębnić obrazy, wykonując poniższe czynności:
- Najpierw załaduj plik PDF przy użyciu klasy Parser.
- Następnie wywołaj metodę Parser.getImages() i pobierz kolekcję obiektów PageImageArea z załadowanego dokumentu.
- Następnie sprawdź, czy kolekcja nie ma wartości null.
- Następnie przejrzyj wszystkie znalezione obrazy.
- Na koniec pokaż szczegóły obrazów.
Poniższy przykładowy kod pokazuje, jak uzyskać szczegóły obrazów z pliku PDF przy użyciu języka Java.
// Ten przykład kodu demonstruje, jak analizować plik PDF i pobierać obrazy.
// Utwórz instancję klasy Parser
Parser parser = new Parser("D:\\Files\\Parser\\images.pdf");
// Wyodrębnij obrazy
Iterable<PageImageArea> images = parser.getImages();
// Sprawdź, czy obsługiwana jest ekstrakcja obrazów
if (images == null) {
System.out.println("Images extraction isn't supported");
return;
}
// Iteruj po obrazach
for (PageImageArea image : images) {
// Wydrukuj indeks strony, prostokąt i typ obrazu:
System.out.println("Page: " + image.getPage().getIndex());
System.out.println("Image Rectangle: " + image.getRectangle());
System.out.println("Image Filetype: " + image.getFileType());
System.out.println("----------------------------------------");
}

Pobieraj obrazy z dokumentów PDF przy użyciu języka Java
Wyodrębnij obrazy z określonej strony dokumentu PDF za pomocą języka Java
Możemy wyodrębnić obrazy z określonej strony, wykonując proste kroki wymienione poniżej:
- Najpierw załaduj plik PDF przy użyciu klasy Parser.
- Następnie pobierz informacje o dokumencie za pomocą metody Parser.getDocumentInfo().
- Następnie sprawdź, czy IDocumentInfo.getPageCount() nie wynosi zero.
- Następnie wywołaj metodę Parser.getImages() z indeksem strony, aby wyodrębnić obrazy z tej konkretnej strony.
- Na koniec przejrzyj wszystkie znalezione obrazy i pokaż szczegóły.
Poniższy przykładowy kod pokazuje, jak wyodrębnić obrazy z określonej strony przy użyciu języka Java.
// Ten przykład kodu demonstruje, jak analizować plik PDF i pobierać obrazy z określonej strony.
// Utwórz instancję klasy Parser
Parser parser = new Parser("D:\\Files\\Parser\\images.pdf");
// Uzyskaj informacje o dokumencie
IDocumentInfo documentInfo = parser.getDocumentInfo();
// Sprawdź, czy dokument ma strony
if (documentInfo.getPageCount() == 0) {
System.out.println("Document hasn't pages.");
return;
}
int pageIndex = 1;
// Iteruj po obrazach
// Ignorujemy sprawdzanie wartości null, ponieważ wcześniej sprawdziliśmy obsługę funkcji ekstrakcji obrazów
for (PageImageArea image : parser.getImages(pageIndex)) {
// Wydrukuj indeks strony, prostokąt i typ obrazu:
System.out.println("Page: " + image.getPage().getIndex());
System.out.println("Image Rectangle: " + image.getRectangle());
System.out.println("Image Filetype: " + image.getFileType());
System.out.println("----------------------------------------");
}
Wyodrębniaj i zapisuj obrazy do plików przy użyciu języka Java
Możemy również zapisać wyodrębnione obrazy, wykonując czynności podane poniżej:
- Najpierw załaduj plik PDF przy użyciu klasy Parser.
- Następnie wywołaj metodę Parser.getImages() i pobierz kolekcję obiektów PageImageArea z załadowanego dokumentu.
- Następnie utwórz instancję klasy ImageOptions i ustaw format obrazu.
- Następnie przejrzyj wszystkie znalezione obrazy.
- Na koniec zapisz, używając metody save(). Jako argumenty przyjmuje ścieżkę pliku wyjściowego i ImageOptions.
Poniższy przykładowy kod pokazuje, jak wyodrębnić i zapisać obrazy w plikach przy użyciu języka Java.
// Ten przykład kodu demonstruje, jak wyodrębnić i obrazy w katalogu.
// Utwórz instancję klasy Parser
Parser parser = new Parser("D:\\Files\\Parser\\images.pdf");
// Wyodrębnij obrazy z dokumentu
Iterable<PageImageArea> images = parser.getImages();
// Sprawdź, czy obsługiwana jest ekstrakcja obrazów
if (images == null) {
System.out.println("Page images extraction isn't supported");
return;
}
// Utwórz opcje zapisywania obrazów w formacie PNG
ImageOptions options = new ImageOptions(ImageFormat.Png);
int imageNumber = 0;
// Iteruj po obrazach
for (PageImageArea image : images)
{
// Zapisz obraz do pliku PNG
image.save(String.format("D:\\Files\\Parser\\Images\\%d.png", imageNumber), options);
imageNumber++;
}

Wyodrębniaj i zapisuj obrazy do plików przy użyciu języka Java
Zdobądź bezpłatną licencję
Możesz wypróbować interfejs API bez ograniczeń ewaluacyjnych, prosząc o bezpłatną licencję tymczasową.
Wniosek
W tym artykule dowiedzieliśmy się, jak:
- wyodrębnić cały tekst z całego dokumentu PDF lub określonych stron dokumentu za pomocą języka Java;
- programowo wyodrębniaj obrazy z pliku PDF;
- zapisz wyodrębnione obrazy na dysku lokalnym.
Poza tym możesz dowiedzieć się więcej o GroupDocs.Parser for Java API, korzystając z dokumentacji. W przypadku jakichkolwiek niejasności prosimy o kontakt na forum.