如果 Word 文档中的图片没有使用 'saveas' 方法保存为独立的文件,那么可以尝试通过 'Clipboard' 对象将图片复制到剪贴板中,然后将其保存为文件。

以下是一个示例代码,可以将 Word 文档中的图片保存到指定路径:

using System;
using System.IO;
using System.Windows.Forms;

namespace WordImageExtractor
{
    class Program
    {
        [STAThread]
        static void Main(string[] args)
        {
            // 打开 Word 文档
            var openFileDialog = new OpenFileDialog();
            openFileDialog.Filter = 'Word 文档|*.docx;*.doc';
            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                var wordPath = openFileDialog.FileName;
                var wordApplication = new Microsoft.Office.Interop.Word.Application();
                var wordDocument = wordApplication.Documents.Open(wordPath);

                // 获取所有 InlineShape 对象(包含图片)
                foreach (Microsoft.Office.Interop.Word.InlineShape shape in wordDocument.InlineShapes)
                {
                    // 复制图片到剪贴板
                    shape.Select();
                    wordApplication.Selection.Copy();

                    // 从剪贴板中获取图片数据
                    var image = Clipboard.GetImage();

                    // 保存图片到指定路径
                    var imagePath = Path.Combine('C:\Images', $'image{DateTime.Now.Ticks}.png');
                    image.Save(imagePath);
                    Console.WriteLine($'图片已保存到:{imagePath}');
                }

                // 关闭 Word 文档和应用程序
                wordDocument.Close();
                wordApplication.Quit();
            }

            Console.WriteLine('按任意键退出...');
            Console.ReadKey();
        }
    }
}

请注意,此示例代码使用了 'Microsoft.Office.Interop.Word' 库,需要在项目中引用该库。

C# 获取 Word 文档中的图片:无 SaveAs 方法的解决方案

原文地址: https://www.cveoy.top/t/topic/hP05 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录