我有一個使用OpenXml生成文檔的C#程序。它使用以下方法用值替換書籤:編輯Word書籤更改字體
private void FillBookmark(BookmarkStart bookmark, string value)
{
var text = new Text(value);
bookmark.RemoveAllChildren();
IEnumerable<OpenXmlElement> elementsAfter = bookmark.ElementsAfter();
IEnumerable<OpenXmlElement> insideBookmark = elementsAfter.TakeWhile(element => !(element is BookmarkEnd));
foreach (OpenXmlElement element in insideBookmark)
{
element.RemoveAllChildren();
}
OpenXmlElement previousSibling = bookmark.PreviousSibling();
while (previousSibling is BookmarkStart || previousSibling is BookmarkEnd)
{
previousSibling = previousSibling.PreviousSibling();
}
var container = new Run(text);
previousSibling.AppendChild(container);
}
在這個特定的word文檔中,使用的字體是Raleway。有幾個書籤,執行此方法後,兩個書籤使用Calibri字體。我試圖重寫這些書籤,以確保它們在Raleway中,但它們繼續變爲Calibri。
這怎麼可能?