【发布时间】:2017-04-11 20:58:23
【问题描述】:
我使用 OpenXML SDK 做了一些工作,并制作了一个 POC,用于替换 word 文档中标题中的图像。但是,当我尝试使用要删除的图像调用 DeletePart 或 DeleteParts 时,它并没有按预期进行。
当我之后打开word doc时,之前有一张图片,现在有一个框架,上面写着“此图片目前无法显示”和一个红叉。
通过谷歌搜索,似乎引用尚未完全删除,但我找不到任何有关如何执行此操作的帮助..
以下是我如何删除图像的示例。我只将其中一些添加到列表中,因为我需要删除除具有特定 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);
}
//...
【问题讨论】:
标签: c# openxml openxml-sdk