さまざまな形式の電子書籍は、日常の使用で非常に一般的です。電子書籍には、画像だけでなくテキストも含めることができます。他の場所で電子書籍の画像を使用したい場合は、Javaアプリケーション内でこれらをプログラムで簡単に抽出できます。この記事では、** JavaEPUB、PDF、FB2、CHMなどのeBook**ファイルから画像を抽出する方法を自動化する方法を学びます。

以下のトピックについて以下で説明します。

電子書籍から画像を抽出するJavaAPI

GroupDocs.Parser for Java APIは、Javaで電子書籍やドキュメントから画像を抽出するための機能豊富な自動化APIです。これに加えて、APIは、ワードプロセッシングドキュメント、スプレッドシート、PDF、プレゼンテーション、電子メール、ZIPアーカイブ、およびその他の多くのサポートされているドキュメント形式からの画像、テキスト、およびメタデータの解析と抽出をサポートします。

ダウンロードして構成する

ダウンロードセクションから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でEPUBeBookから画像を抽出する

EPUB eBookから始めて、画像を解析してみましょう。次の手順では、EPUB eBookを解析し、Javaコードを使用してEPUBeBookからすべての画像を抽出します。

  • eBookでParserクラスオブジェクトを作成します。
  • getImagesメソッドを使用して、EPUBeBookのすべての画像を抽出します。
  • 抽出された画像をトラバースし、ディスクに保存します。
画像付きEPUBeBook

AdobeのEPUBeBook[サンプルeBookライブラリ][11]

次のJavaコードは、EPUB eBookを解析し、eBookの画像を1つずつディスクに保存します。

// 電子書籍を解析して、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++;
}
EPUBeBookから抽出した画像

その結果、すべての画像が指定された場所に保存されます。これがサンプルとして示されている画像の1つです。

画像は、次の画像ファイル形式のいずれかで保存できます。

  • JPG
  • PNG
  • WEBP
  • GIF
  • BMP

JavaでPDF、FB2、CHMeBooksから画像を抽出する

EPUB形式に加えて、PDF、FB2、CHM、またはその他の形式の電子書籍をお持ちの場合は、同じ方法でそれらの画像を抽出できます。オブジェクトの作成中に、eBookを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、CHMeBookからすべての画像をプログラムで取得する方法を学びました。これで、GroupDocs.Parser for Java APIを使用して、独自の画像抽出Javaアプリケーションの構築を試みることができます。

APIの詳細については、ドキュメントまたはGitHubのオープンソースの例をご覧ください。その他の問題については、フォーラムのクイックサポートにお問い合わせください。

関連項目