画像は通常、Word文書の重要な情報を表すために使用されます。テキストの横に画像を含めると、コンテンツがより魅力的になります。場合によっては、Word文書に埋め込まれた画像をプログラムで抽出する必要があります。これを実現するために、この記事では、Javaを使用してWord文書から画像を抽出する方法について説明します。
Word文書から画像を抽出するJavaAPI
Aspose.Words for Javaは、MS Word文書を作成、操作、および変換するための強力で機能豊富なAPIです。したがって、このAPIを使用して、MS Word DOCX/DOCドキュメントから画像を抽出します。次のMaven構成を使用して、APIのJARをダウンロードするか、Javaアプリケーションにインストールできます。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-words</artifactId>
<version>21.11</version>
<type>pom</type>
</dependency>
Word文書から画像を抽出する方法
Word文書の画像は、図形オブジェクトを使用して表されます。したがって、画像を取得するには、ドキュメント内のすべての形状を処理する必要があります。以下は、JavaでWordDOCXドキュメントから画像を抽出する手順です。
- まず、Documentクラスを使用してWordファイルをロードします。
- 次に、Document.getChildNodes(NodeType.SHAPE, Boolean)メソッドを使用してすべての形状をNodeCollectionオブジェクトに取得します。
- 取得した形状をループします。
- 各反復で、Shape.hasImage()メソッドを使用して、形状に画像があるかどうかを確認します。
- 最後に、画像を抽出し、Shape.getImageData().save(string)メソッドを使用して保存します。
次のコードサンプルは、JavaでDOCXドキュメントから画像を抽出する方法を示しています。
// Wordドキュメントを読み込む
Document doc = new Document("Document.docx");
// すべての形を取得
NodeCollection<Shape> shapes = (NodeCollection<Shape>) doc.getChildNodes(NodeType.SHAPE, true);
int imageIndex = 0;
// 図形コレクションをループする
for (Shape shape : shapes) {
// 形状に画像があるかどうかを確認します
if (shape.hasImage()) {
// 画像を抽出して保存します
String imageFileName = String.format(
"Image.ExportImages.{0}_out_{1}", imageIndex, FileFormatUtil.imageTypeToExtension(shape.getImageData().getImageType()));
shape.getImageData().save(dataDir + imageFileName);
imageIndex++;
}
}
無料のAPIライセンスを取得する
無料の一時ライセンスを取得評価の制限なしにAspose.WordsforJavaを使用します。
結論
この記事では、Javaを使用してWord文書から画像を抽出する方法を学びました。さらに、コードサンプルは、DOCXファイルから画像を抽出して目的の場所に保存する方法を示しています。さらに、Aspose.Words for Javaは、ドキュメント操作のための幅広い機能を提供します。これらの機能については、ドキュメントにアクセスしてください。また、フォーラムから質問することもできます。
関連項目
情報:プレゼンテーション(PDF、ワードドキュメントなど)や[画像のインポート][11に変換できる別のJavaAPI(Aspose.Slides for Java)に興味があるかもしれません。 ]または他のドキュメントをプレゼンテーションに。