【问题标题】:Programatically add an image to a Word document以编程方式将图像添加到 Word 文档
【发布时间】:2018-02-21 19:02:11
【问题描述】:

我想以编程方式将内存中的图像(位图)插入 Word 文档。

也就是说,我通过 Microsoft.Office.Interop.Word 在内存中创建了一个 Word 文档。然后我想将一系列位图图像依次追加到文档中并保存到.doc文件中。

我一直在网上搜索,但我找到的唯一解决方案是

1) 将图像添加到剪贴板,然后使用 Microsoft.Office.Interop.Word.Selction.Paste() 将所选内容粘贴到打开的文档中。

2) 将图像写入文件并使用 Microsoft.Office.Interop.Word.InlineShapes.AddPicture() 将其插入。

虽然这两种方法都有效,但我发现它们非常笨拙,尤其是在应用程序运行时控制剪贴板的第一个选项。

还有其他方法吗?

【问题讨论】:

    标签: c# ms-word office-interop


    【解决方案1】:

    唯一的其他可能性是通过 Range.InsertXML 方法插入图像。这意味着图像需要采用 base64 格式并使用 OPC 平面文件格式包装在有效的 WordOpenXML 中。

    Word Open XML 是将信息“流式传输”到 Word 文档中的唯一方法。

    【讨论】:

    • 真可惜。如果这是真的,那么我可能会先写一个临时文件。感谢您的反馈。
    【解决方案2】:

    您可以在 Selection 或特定 Range 对象上使用InsertFile

    注意:这也需要将位图保存在硬盘上。我认为唯一在内存中添加图像可以通过使用剪贴板的复制/粘贴来完成。

    【讨论】:

      猜你喜欢
      • 2010-12-02
      • 2011-03-24
      • 1970-01-01
      • 1970-01-01
      • 2012-06-16
      • 2012-01-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多