ドキュメントがあり、そのドキュメント内の画像を他のドキュメントで使用したい場合は、ここに解決策の1つがあります。この記事では、** Javaを使用してPDF、Excel、PowerPoint、およびWordドキュメントからプログラムで画像を抽出する**方法を学習します。

画像抽出JavaAPI

画像の抽出には、GroupDocs.Parser forJavaを使用します。このJavaAPIは、ワードプロセッシングドキュメント、スプレッドシート、プレゼンテーション、アーカイブからのドキュメントの解析と画像、テキスト**、およびメタデータの抽出をサポートします。 、およびメール**ドキュメント。以下は、画像抽出のためにJavaAPIでサポートされているドキュメント形式です。
ドキュメントタイプ | ファイル形式 |
---|---|
ワードプロセッシングドキュメント | DOC、DOCX、DOCM、DOT、DOTX、DOTM、ODT、OTT、RTF |
スプレッドシート | XLS、XLSX、XLSM、XLSB、XLT、XLTX、XLTM、ODS、OTS、XLA、XLAM、NUMBERS |
プレゼンテーション | PPT、PPTX、PPTM、PPS、PPSX、PPSM、POT、POTX、POTM、ODP、OTP |
ポータブルドキュメント | |
メール | EML、EMLX、MSG |
アーカイブ | ZIP |
以下の例を開始する前に、ダウンロードセクションから最新バージョンのドキュメント解析JavaAPIをダウンロードして環境をセットアップすることをお勧めします。または、**Mavenベース*で次の構成を設定することもできます。 * Javaアプリケーション:
<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>20.8</version>
</dependency>
JavaでPDFドキュメントから画像を抽出する

これらの簡単な手順に従って、PDFドキュメントからすべての画像を取得します。
- ** Parser**クラスオブジェクトをインスタンス化します。
- すべての画像を取得するには、Parserクラスの** getImages**メソッドを呼び出します。
- ** PageImageArea**を使用して画像を繰り返し処理します。
- PageImageAreaのsaveメソッドを使用して画像を保存します。
終わった。以下の完全なコードを参照してください。抽出された画像は、** BMP 、 GIF 、 JPEG 、 PNG 、およびWebP**形式で保存できます。
// GroupDocs.Parser for Javaを使用して、Word、Excel、PowerPoint、PDFドキュメントからプログラムで画像を抽出します。
try (Parser parser = new Parser("path/document.pdf")) {
// 画像を抽出する
Iterable<PageImageArea> images = parser.getImages();
// PNG形式で画像を保存するオプションを作成します
ImageOptions options = new ImageOptions(ImageFormat.Png);
int imageNumber = 0;
// 画像を繰り返して保存
for (PageImageArea image : images) {
// ページインデックス、長方形、画像ファイルタイプを印刷します。
System.out.println(String.format("Page: %d, R: %s, Type: %s", image.getPage().getIndex(),
image.getRectangle(), image.getFileType()));
image.save(String.format("filesPath/image_%d.png", imageNumber), options);
imageNumber++;
}
}
これらは、上記のコードを使用してPDFドキュメントから取得された画像です。

JavaでWord、Excel、PowerPointファイルから画像を抽出する
同様に、すべての画像は、コードベースを変更せずに、ワードプロセッシングファイル、スプレッドシート、プレゼンテーションから取り出すことができます。何を変えなければなりませんか?ソースドキュメントのパスと正しいファイル拡張子だけです。
Parser parser = new Parser("path/document.docx") // Word Document
// Parser parser = new Parser("path/document.xlsx") // Excel Spreadsheet
// Parser parser = new Parser("path/document.pptx") // PowerPoint Presentation
// Parser parser = new Parser("path/document.pdf") // PDF Document
Javaの特定のドキュメントページからの画像抽出
ドキュメント全体からではなく、特定のページからすべての画像を抽出したい場合。以下のコードは、Javaでドキュメントの特定のページから画像を抽出する方法を示しています。
// GroupDocs.Parserを使用して、JavaでWord、Excel、PowerPoint、PDFの特定のページから画像を抽出します。
try (Parser parser = new Parser("path/document.pdf"")) {
// ドキュメント情報を取得する
IDocumentInfo documentInfo = parser.getDocumentInfo();
// PNG形式で画像を保存するオプションを作成します
ImageOptions options = new ImageOptions(ImageFormat.Jpeg);
int imageNumber = 0;
// ページを繰り返します
for (int pageIndex = 0; pageIndex < documentInfo.getPageCount(); pageIndex++) {
// ページ番号を印刷する
System.out.println(String.format("Page %d/%d", pageIndex + 1, documentInfo.getPageCount()));
// 画像を反復処理-NULLを無視-例をチェックイン
for (PageImageArea image : parser.getImages(pageIndex)) {
// 画像情報の印刷とファイルの保存
System.out.println(String.format("R: %s, Text: %s", image.getRectangle(), image.getFileType()));
image.save(String.format("filesPath/image_%d.jpeg", imageNumber), options);
imageNumber++;
}
}
}
結論
今日は、ドキュメント全体から画像を抽出する方法と、Javaでワードプロセッシングドキュメント、スプレッドシート、プレゼンテーション、PDFの特定のページを抽出する方法を学びました。異なるファイル形式のファイルから画像を抽出する必要がある場合でも、コードに違いはありません。正しいパスと名前を渡す必要があります。それでおしまい。