首页 文章

将MS Word文档页面导出到图像

提问于
浏览
0

我想将MS word(docx / doc)文档页面导出到Image(jpeg / png) .

我正在为每张幻灯片使用office interop export api进行演示(pptx / ppt),但没有找到相应的API .

需要建议API /替代方法来实现这一目标 .

1 回答

  • 3

    根据这个类似的问题:“Saving a word document as an image”你可以这样做:

    const string basePath = @"C:\Users\SomeUser\SomePath\";
    var docPath = Path.Combine(basePath, "documentA.docx");
    var app = new Application()
                    {
                        Visible = true
                    };
    
    var doc = app.Documents.Open(docPath);
    
    foreach (Window window in doc.Windows)
    {
        foreach (Pane pane in window.Panes)
        {
            for (var i = 1; i <= pane.Pages.Count; i++)
            {
                var page = pane.Pages[i];
                var bits = page.EnhMetaFileBits;
                var target = Path.Combine(basePath, string.Format("page-no-{0}", i));
    
                using (var ms = new MemoryStream(bits))
                {
                    var image = Image.FromStream(ms);
                    var pngTarget = Path.ChangeExtension(target, "png");
                    image.Save(pngTarget, ImageFormat.Png);
                }
            }
        }
    }
    
    app.Quit();
    

    基本上,我正在使用 Page.EhmMetaFileBits 属性,根据documentation

    返回一个Object,表示文本页面如何显示的图片表示 .

    ...并基于此,我创建一个图像并将其保存到磁盘 .

相关问题