画像は通常、Word DOCドキュメントの重要な情報を表すために使用されます。テキストの横に画像を含めると、コンテンツがより魅力的になります。場合によっては、プログラムでDOCドキュメントに埋め込まれた画像を抽出する必要があります。これを実現するために、この記事ではJavaでDOCから画像を抽出する方法について説明します。
DOCファイルから画像を抽出するJava API
Aspose.Words for Javaは、MS Word文書を作成、操作、および変換するための強力で機能豊富なAPIです。したがって、このAPIを使用して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>
JavaでDOCから画像を抽出する方法
DOCドキュメントの画像は、シェイプオブジェクトを使用して表されます。したがって、画像を取得するには、ドキュメント内のすべての形状を処理する必要があります。以下は、JavaでDOCファイルから画像を抽出する手順です。
- まず、Documentクラスを使用してDOCファイルをロードします。
- 次に、すべての形状をNodeCollectionに取得します Document.getChildNodes(NodeType.SHAPE、Boolean)メソッドを使用するオブジェクト。
- 取得した形状をループします。
- 各反復で、Shape.hasImage()メソッドを使用して、形状に画像があるかどうかを確認します。
- 最後に、画像を抽出し、Shape.getImageData().save(string)メソッドを使用して保存します。
次のコードサンプルは、JavaでDOCドキュメントから画像を抽出する方法を示しています。
// 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++;
}
}
DOC用Java Image Extractor-無料のAPIライセンスを取得
無料の一時ライセンスを取得評価の制限なしにAspose.WordsforJavaを使用します。
結論
この記事では、JavaでDOCドキュメントから画像を抽出する方法を学びました。さらに、コードサンプルは、DOCファイルから画像を抽出して目的の場所に保存する方法を示しています。さらに、Aspose.Words for Javaは、ドキュメント操作のための幅広い機能を提供します。これらの機能については、ドキュメントにアクセスしてください。また、フォーラムから質問することもできます。
関連項目
情報:プレゼンテーション(PDF、ワードドキュメントなど)や[画像のインポート][11に変換できる別のJavaAPI(Aspose.Slides for Java)に興味があるかもしれません。 ]またはその他のドキュメントをプレゼンテーションに追加します。