2
我已经使用OpenXML SDK进行了一些工作,并且制作了一个替换Word文档中标题中的图像的POC。但是,当我尝试使用要删除的图像调用DeletePart或DeleteParts时,它不会如预期那样。使用OpenXML SDK删除标题中的图像
当我之后打开单词文档时,以前有一个图像,现在有一个框架文本“此图像目前无法显示”和红色十字。
从Google检索它的出现犹如引用尚未完全消除,但我无法找到如何做到这一点任何帮助..
下面是我如何删除图像的例子。我只添加一些人到列表中,因为我需要一个特定的URI删除所有,但的那些..
//...
foreach(HeaderPart headerPart in document.MainDocumentPart.HeaderParts) {
List<ImagePart> list = new List<ImagePart>();
List<ImagePart> imgParts = new List<ImagePart> (headerPart.ImageParts);
foreach(ImagePart headerImagePart in imgParts) {
string newUri = headerImagePart.Uri.ToString();
if(newUri != uri) {
list.Add(headerImagePart);
}
}
headerPart.DeleteParts(list);
}
//...
非常感谢您!这让我更好地了解手头的问题,并彻底解决了我的问题! 我确实有一个小问题,运行代码,但添加使用Pic = DocumentFormat.OpenXml.Drawing.Pictures;解决了:)再一次,非常感谢你! –
好点@anl_extrico,我已经编辑了答案,以包括任何未来的读者。顺便提一下,我很高兴能够提供帮助。 – petelids