[英]Inserting a Template into a Template - C# Open XML SDK 2.0/2.5
我正在处理一些代码来操作预先存在的.DOTX模板文件中的书签。 对于此问题,某些书签旨在指向另一个.DOTX文件,并将其插入当前文档中。
我很难找到一种方法,而无需进行大量操作并深入研究第二个模板中的每个元素,并在当前文档中创建一个相似的元素。
有人对轻松实现此目标有任何想法吗?
原来比我想象的要容易。
foreach (BookmarkStart bookmark in mainDoc.RootElement.Descendants<BookmarkStart>().Where(b => String.Equals(b.Name, bookmarkName)))
{
var parent = bookmark.Parent;
using (WordprocessingDocument newTemplate = WordprocessingDocument.Open(template2, false))
{
var newTemplateBody = newTemplate.MainDocumentPart.Document.Body;
foreach (var element in newTemplateBody.Elements().Reverse<OpenXmlElement>())
{
parent.InsertAfterSelf<OpenXmlElement>((OpenXmlElement)element.Clone());
}
}
}
我显然做得很好,但是我将模板插入到一个段落中。 模板是一个表,不能嵌套在一个段落中。 这实际上是在破坏我的文档。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.