EBooki w różnych formatach są bardzo powszechne w codziennym użyciu. EBook może zawierać zarówno tekst, jak i obrazy. Jeśli chcesz użyć obrazów dowolnego eBooka w innym miejscu, możesz je łatwo wyodrębnić programowo w swojej aplikacji Java. W tym artykule dowiesz się, jak zautomatyzować wyodrębnianie obrazów z plików e-booków, takich jak EPUB, PDF, FB2, CHM w Javie.

Poniżej zostaną omówione następujące tematy:

Java API do wyodrębniania obrazów z eBooków

GroupDocs.Parser for Java API to bogaty w funkcje interfejs API automatyzacji do wyodrębniania obrazów z eBooków i dokumentów w Javie. Oprócz tego interfejs API obsługuje analizowanie i wyodrębnianie obrazów, tekstu i metadanych z dokumentów edytorów tekstu, arkuszy kalkulacyjnych, plików PDF, prezentacji, wiadomości e-mail, archiwów ZIP i wielu innych obsługiwanych formatów dokumentów.

Pobierz i skonfiguruj

Pobierz plik JAR z sekcji downloads lub po prostu dodaj następującą konfigurację pom.xml w swoich aplikacjach Java opartych na Maven, aby wypróbować poniższe przykłady. Aby uzyskać szczegółowe informacje, odwiedź Odniesienie do interfejsu API.

<repository>
	<id>GroupDocsJavaAPI</id>
	<name>GroupDocs Java API</name>
	<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
	<groupId>com.groupdocs</groupId>
	<artifactId>groupdocs-parser</artifactId>
	<version>21.2</version> 
</dependency>

Wyodrębnij obrazy z eBooka EPUB w Javie

Zacznijmy od eBooka EPUB, aby przeanalizować go pod kątem obrazów. Poniższe kroki analizują eBook EPUB i wyodrębniają z niego wszystkie obrazy za pomocą kodu Java.

  • Utwórz obiekt klasy Parser z eBookiem.
  • Użyj metody getImages, aby wyodrębnić wszystkie obrazy eBooka EPUB.
  • Przejrzyj wyodrębnione obrazy i zapisz je na dysku.
E-book EPUB ze zdjęciami

E-Book EPUB z Adobe [Przykładowa biblioteka e-booków][11]

Poniższy kod Java analizuje eBook EPUB i zapisuje obrazy eBooka jeden po drugim na dysku.

// Analizuj eBooki, aby wyodrębniać obrazy z plików PDF, EPUB, FB2, CHM w Javie i zapisywać je na dysku.
Parser parser = new Parser("ebook.epub");
// Wyodrębnij obrazy z eBooka i zapisz w formacie JPEG.
Iterable<PageImageArea> images = parser.getImages();
ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
int imageNumber = 0;
// Iteruj po wyodrębnionych obrazach
for (PageImageArea image : images) {
    image.save(Constants.getOutputFilePath(String.format("%d.jpeg", imageNumber)), options);
    imageNumber++;
}
Wyodrębniony obraz z eBooka EPUB

W rezultacie wszystkie obrazy zostaną zapisane w podanej lokalizacji. Oto jeden z obrazów pokazanych jako próbka.

Obrazy można zapisać w dowolnym z następujących formatów plików graficznych:

  • JPG
  • PNG
  • WEBP
  • GIF-y
  • BMP

Wyodrębnij obrazy z eBooków PDF, FB2, CHM w Javie

Oprócz formatu EPUB, jeśli masz eBook w formacie PDF, FB2, CHM lub w innym formacie, możesz wyodrębnić ich obrazy w ten sam sposób. Po prostu przekaż swój eBook do konstruktora Parsera podczas tworzenia obiektu. Następnie metoda getImages będzie wyodrębniać obrazy z dostarczonych eBooków przy użyciu tego samego kodu Java.

// Provide different eBook formats to the Parser constructor to extract the images.
// Parser parser = new Parser("ebook.epub");
Parser parser = new Parser("ebook.pdf");
// Parser parser = new Parser("ebook.fb2");
// Parser parser = new Parser("ebook.chm");

Iterable<PageImageArea> images = parser.getImages();

Wniosek

W tym artykule nauczyłeś się programowo pobierać wszystkie obrazy z eBooków PDF, EPUB, FB2, CHM w swoich aplikacjach Java. Teraz możesz spróbować zbudować własną aplikację Java do wyodrębniania obrazów przy użyciu GroupDocs.Parser for Java API.

Aby uzyskać więcej informacji na temat interfejsu API, odwiedź dokumentację lub przykłady open source na GitHub. W przypadku dalszych problemów możesz skontaktować się z szybkim wsparciem na forum.

Zobacz też