OpenXML SDKで少し作業し、ワード文書のヘッダーにある画像を置き換えるPOCを作成しました。ただし、削除したい画像でDeletePartまたはDeletePartsを呼び出そうとすると、期待どおりに行かない。OpenXML SDKでヘッダー内の画像を削除する
「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);
}
//...
はどうもありがとうございました!これは私の手元にある問題をもっとよく理解し、私の問題を完全に解決しました! コードを実行するのに少し問題がありましたが、Pic = DocumentFormat.OpenXml.Drawing.Picturesを使用して追加しました。それを解決しました:)もう一度、ありがとうございます! –
良い点@anl_extrico、私は将来の読者のためにそれを含める答えを編集しました。あなたは途中で歓迎です、私は助けることができてうれしいです。 – petelids