画像とテキストは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++;
}
}
}
}
}
}
}
抽出された画像は以下のように
結語
今回のWord文書から画像を抽出する方法は以上でした、最後まで読んでいただきありがとうございました。