LoginSignup
0
0

More than 1 year has passed since last update.

C#を使用してWord文書から画像を抽出する方法

Posted at

画像とテキストはWord文書で最も一般的な2つの要素です。Microsoft Wordを使用する際、文書内の画像を抽出する場合は、画像で右クリックして「名前を付けて保存」を選択し、画像の名前を編集してから保存すると解決できです。そして今日の記事は、主にC#および無料で使える.NET用のWordコンポーネントSpire.Doc for .NETを使用して、Word文書から画像を抽出する方法をシェアします。
こちらはテキストと画像を含むWordドキュメントです

詳細な手順および使用するコード

ステップ1:引用を追加します。
新しいVisualC#コンソールプロジェクトを作成し、参照を追加して、次の名前空間を使用します。

using System;
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;

ステップ2:新しいWordドキュメントオブジェクトを作成し、画像を抽出したい Wordドキュメントをロードします。

Document document = new Document("sample.docx");

ステップ3:ドキュメント内のすべてのセクションをトラバースし、画像を見つけて抽出し、保存します。

int index = 0;

foreach (Section section in document.Sections)
{
    foreach (Paragraph paragraph in section.Paragraphs)
    {
        foreach (DocumentObject docObject in paragraph.ChildObjects)
        {
            if (docObject.DocumentObjectType == DocumentObjectType.Picture)
            {
                DocPicture picture = docObject as DocPicture;

                String imageName = String.Format(@"images\画像-{0}.png", index);

                picture.Image.Save(imageName, System.Drawing.Imaging.ImageFormat.Png);
                index++;
            }
        }
    }
}

完全なるコード

using System;
using Spire.Doc;
using Spire.Doc.Documents;
using Spire.Doc.Fields;
using System.Drawing;

namespace Extract_image_from_word
{
    class Program
    {
        static void Main(string[] args)
        {
            Document document = new Document("C:\\Users\\Administrator\\Desktop\\sample.docx");
            int index = 0;

            foreach (Section section in document.Sections)
            {
                foreach (Paragraph paragraph in section.Paragraphs)
                {
                    foreach (DocumentObject docObject in paragraph.ChildObjects)
                    {
                        if (docObject.DocumentObjectType == DocumentObjectType.Picture)
                        {
                            DocPicture picture = docObject as DocPicture;

                            String imageName = String.Format(@"images\画像-{0}.png", index);

                            picture.Image.Save(imageName, System.Drawing.Imaging.ImageFormat.Png);
                            index++;
                        }
                    }
                }
            }
        }
    }
}

抽出された画像は以下のように
02.png

結語

今回のWord文書から画像を抽出する方法は以上でした、最後まで読んでいただきありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0