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

时间:2013-08-16 06:13:07

标签: ms-word export office-interop

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

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

需要API /替代方法来实现这一目标。

1 个答案:

答案 0 :(得分: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,表示如何使用的图片表示   出现文字页面。

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