各種格式的電子書在日常使用中非常普遍。電子書可以包含文本和圖像。如果您想在其他地方使用任何電子書的圖像,您可以在 Java 應用程序中以編程方式輕鬆提取這些圖像。在本文中,您將學習如何使用 Java 自動從 EPUB、PDF、FB2、CHM 等電子書文件中提取圖像。

下面將涵蓋以下主題:

從電子書中提取圖像的 Java API

GroupDocs.Parser for Java API 是一種功能豐富的自動化 API,用於從 Java 電子書和文檔中提取圖像。除此之外,API 還支持從文字處理文檔、電子表格、PDF、演示文稿、電子郵件、ZIP 存檔和許多其他支持的文檔格式 中解析和提取圖像、文本和元數據。

下載和配置

downloads 部分獲取 JAR 文件,或者在基於 Maven 的 Java 應用程序中添加以下 pom.xml 配置以嘗試下面提到的示例。有關詳細信息,您可以訪問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>

用 Java 從 EPUB 電子書中提取圖像

讓我們從 EPUB 電子書開始解析它的圖像。以下步驟解析 EPUB 電子書並使用 Java 代碼從中提取所有圖像。

  • 使用電子書創建 Parser 類對象。
  • 使用 getImages 方法提取 EPUB 電子書的所有圖像。
  • 遍歷提取的圖像並將它們保存到磁盤。
帶圖片的 EPUB 電子書

來自 Adobe [示例電子書庫][11] 的 EPUB 電子書

以下Java代碼解析EPUB電子書,並將電子書的圖片一張一張保存到磁盤中。

// 解析電子書以從 Java 中的 PDF、EPUB、FB2、CHM 文件中提取圖像並保存到磁盤。
Parser parser = new Parser("ebook.epub");
// 從電子書中提取圖像並以 JPEG 格式保存。
Iterable<PageImageArea> images = parser.getImages();
ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
int imageNumber = 0;
// 迭代提取的圖像
for (PageImageArea image : images) {
    image.save(Constants.getOutputFilePath(String.format("%d.jpeg", imageNumber)), options);
    imageNumber++;
}
從 EPUB 電子書中提取的圖像

結果,所有圖像都將保存到提供的位置。這是作為示例顯示的圖像之一。

圖像可以保存為以下任何一種圖像文件格式:

  • 圖片
  • PNG
  • WEBP
  • 動圖
  • 骨形態發生蛋白

用 Java 從 PDF、FB2、CHM 電子書中提取圖像

除了 EPUB 格式,如果你的電子書是 PDF、FB2、CHM 或其他格式,你可以用同樣的方法提取它們的圖像。只需在創建對象時將您的電子書傳遞給 Parser 構造函數。之後,getImages 方法將使用相同的 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();

結論

在本文中,您學習瞭如何在 Java 應用程序中以編程方式從 PDF、EPUB、FB2、CHM 電子書中獲取所有圖像。現在您可以嘗試使用 GroupDocs.Parser for Java API 構建您自己的圖像提取器 Java 應用程序。

有關 API 的更多信息,您可以訪問 文檔GitHub 上的開源示例。對於任何進一步的問題,您可以聯繫 論壇 上的快速支持。

也可以看看