VSTO中Word转换Range为Image的方法 (2)

将特定部分的range直接替换成一个图片,并删除原内容。打个比方,就像是魔术表演中,魔术师把手中的帽子变成兔子一样。
由于在Word中插入一个图片,必须是本地文件系统中的图片文件,range获取到的图片必须先存储在本地的临时目录,然后再插入到Word的相应位置中。

//处理流程 Range->图片->保存在本地,以png格式->插入到文档中->删除原先range的内容 //伪代码 //range为Word.Range对象 //获取图片 var image = RangeImage.GetRangeRealImage(range); //保存图片到本地 var FileName = Config.GetInstance().Get("runtimePath") + System.IO.Path.DirectorySeparatorChar + "tmpTable.png"; image.Save(FileName, System.Drawing.Imaging.ImageFormat.Png); //在原位置插入图片 object SaveWithDocument = true; object LinkToFile = false; var wordDoc = range.Document; object Anchor = wordDoc.Range(range.Start); var t = wordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName, ref LinkToFile, ref SaveWithDocument, ref Anchor); //删除原内容 range.Delete();

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyfdyj.html