PythonでWord文書から画像を抽出する

写真は千の言葉の価値があります。これが、画像がドキュメント、特にWordドキュメントの不可欠な部分である理由です。画像は、コンテンツをより魅力的で人目を引くものにするために使用されます。 Word文書を解析するときに、画像を抽出する必要があるシナリオに出くわす場合があります。これをプログラムで実現するために、この記事では、PythonでWord文書から画像を抽出する方法について説明します。

Word文書から画像を抽出するPythonライブラリ

Aspose.Words for Pythonは、Word文書の作成と操作に使用される、強力で機能豊富なライブラリです。このライブラリを使用して、DOCXまたはDOCファイルから画像を抽出します。次のpipコマンドを使用して、PyPIからPythonアプリケーションにインストールできます。

pip install aspose-words

PythonでWord文書から画像を抽出する

Word文書の画像は、図形ノードで表されます。したがって、ドキュメントから画像を取得するには、形状を解析する必要があります。次の手順は、PythonでWord文書から画像を抽出する方法を示しています。

  • まず、Documentクラスを使用してWord文書をロードします。
  • 次に、Document.get_child_nodes(NodeType.SHAPE, True)メソッドを使用して、すべての形状をオブジェクトに取得します。
  • 図形をループし、図形ごとに次の操作を実行します。
    • as_shape()メソッドを使用してShapeをShapeタイプにキャストします。
    • Shape.has_image()メソッドを使用して、形状に画像があるかどうかを確認します。
    • Shape.image_data.save(string)メソッドを使用して、形状を画像として保存します。

次のコードサンプルは、PythonでDOCXドキュメントから画像を抽出する方法を示しています。

import aspose.words as aw

# load the Word document
doc = aw.Document("calibre.docx")

# retrieve all shapes
shapes = doc.get_child_nodes(aw.NodeType.SHAPE, True)
imageIndex = 0

# loop through shapes
for shape in shapes :
    shape = shape.as_shape()
    if (shape.has_image) :

        # set image file's name
        imageFileName = f"Image.ExportImages.{imageIndex}_{aw.FileFormatUtil.image_type_to_extension(shape.image_data.image_type)}"

        # save image
        shape.image_data.save(imageFileName)
        imageIndex += 1

無料のAPIライセンスを取得する

一時ライセンスを取得して、評価の制限なしにAspose.Words for Pythonを使用できます。

結論

画像は、コンテンツをより魅力的にするためにWord文書で一般的に使用されます。場合によっては、テキストと一緒にドキュメントから画像を抽出する必要もあります。したがって、この記事では、PythonでWord文書から画像を抽出する方法を学びました。これに加えて、Aspose.Words for Pythonのドキュメントを調べることができます。ご不明な点がございましたら、フォーラムからお気軽にお問い合わせください。

関連項目

情報:PowerPointプレゼンテーションからWord文書を取得する必要がある場合は、AsposeプレゼンテーションからWord文書コンバーターを使用できます。