2013-08-16 49 views
1

我想将MS word(docx/doc)文档页导出为图像(jpeg/png)。将MS Word文档页导出为图像

我对每个幻灯片使用office interop export api的演示文稿(pptx/ppt)做了同样的处理,但没有找到相应的单词API。

需要关于API /替代方法的建议来实现此目的。

回答

3

在此基础上类似的问题:其中,根据documentation

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属性: “Saving a word document as an image” 你可以做这样的事情

返回表示文字如何出现的图片表示的对象。

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

+0

如果有人不知道Image类是从哪个命名空间,像我一样: var image = System.Drawing.Image.FromStream(ms); image.Save(pngTarget,System.Drawing.Imaging.ImageFormat.Png); – zeta