繁体   English   中英

将 PictureBox.Image 粘贴到 Word 中(互操作)

[英]Paste PictureBox.Image into Word (Interop)

有没有办法将图像(例如从 PictureBox)直接粘贴到 Word 形状中?
我目前正在使用剪贴板复制然后 Clipboard.SetImage(Image); 但希望在没有剪贴板的情况下直接进行。 此链接如何使用 Range.FormattedText 将图像从剪贴板粘贴到 Word引用,但我不确定如何将图像变成 FormattedText?

这是我使用剪贴板的代码:

foreach (Microsoft.Office.Interop.Word.Shape s in wordApp.ActiveDocument.Shapes)
{
    if (s.Title.Equals("WordImage", StringComparison.OrdinalIgnoreCase))
    {
         Word.Range range = s.Anchor;
         Clipboard.SetImage(myPictureBox.Image);
         range.Paste();
     }
}

有没有办法将图像(例如从 PictureBox)直接粘贴到 Word 形状中? [#word 互操作]

定义“直接” 如果您的意思是“是否存在ShapeInlineShape类型的属性,我们可以设置 dotnet 类Image的实例?” 那么答案是否定的。

ShapeInlineShape类型都没有公开任何方法来传递参数或属性来设置 dotnet image对象或image对象的数据。

dotnet 类Image的实例应该保存到文件中,然后使用Shapes.AddPicture()方法添加到 Word 文档中,或者保存到剪贴板中,然后使用Range.Paste()方法粘贴到 Word 文档中。 没有其他办法。

有一个属性string Shape.RTF ,它是只设置的,直观地建议设置图像的 rtf 数据。 但是官方文档说它是“保留供内部使用”。 .

结论

Dotnet Image对象不能“直接”插入到 Word 文档中。 它可以通过文件或剪贴板插入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM