0

我正在尝试使用 GemBox 将整个部分添加到特定事件中。

Section section = new Section(documentModel);
documentModel.Sections.Add(section);

ContentRange backgroundCheckSection = documentModel.Content.Find("@@BackGroundChecks").First();
backgroundCheckSection.Start.InsertRange(section);

此代码不起作用,因为它不能将 ContentRange 对象隐式转换为 Section 对象。目标是将整个部分添加到变量 @@BackgroundChecks 出现的位置。我还没有弄清楚该怎么做,想知道是否有人可以帮助我。

4

1 回答 1

0

我不是 100% 确定你想要完成什么,但为了插入该部分的内容范围,你只需要执行以下操作:

backgroundCheckSection.Start.InsertRange(section.Content);

如果您可以提供有关您想要实现的目标的更多详细信息,我可以为您提供进一步的帮助。

尽管如此,我认为您想要的不是在文档中插入一个部分(这会将您要插入的部分分成两部分,因此您最终会得到 3 个部分),您只想插入该部分的内容部分到指定的位置(占位符“@@BackGroundChecks”所在的位置)。

因此,为此,section.Content您可以迭代section.Blocks并插入它们的内容,而不是插入,如下所示:

foreach(var block in section.Blocks)
    backgroundCheckSection.Start.InsertRange(block.Content);

之后,您可能需要删除该占位符:

backgroundCheckSection.Delete();

如果您确实要插入一个节,请注意每个节都用分节符分隔,并且您可以操纵节从它开始的位置(例如它是从新页面开始还是在上一节之后继续)。您可以通过设置section.PageSetup.SectionStart属性来做到这一点。

于 2015-10-03T07:06:24.257 回答