以编程方式将图像添加到Word文档

时间:2018-02-21 19:02:11

标签: c# ms-word office-interop

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

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

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

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

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

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

还有其他办法吗?

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

您可以在选择或特定范围对象上使用InsertFile

注意:这也需要将位图保存在硬盘上。我认为只有在内存中添加图像才能使用剪贴板复制/粘贴。