我目前正在使用ASP.NET和C#开发OpenXML项目,我们需要注入并隐藏Word文档的某些部分。我是用书签做的。对于注射,我很好,我能够找到书签开始和结束,我能够在这些书签中注入我想要的文本。为了隐藏书签,我遇到了一些问题。
例如,为了隐藏段落,我可以使用bookmarkStart.Remove()和bookmarkEnd.Remove()来删除它们,但是书签会留下它们所在的空间,我想有这条线他们也被删除了。否则会在那里留下空白。
同样对于段落,如果我需要隐藏多个,我将整个块添加为书签,但是当我删除书签时,第一段落后,其他的仍然存在。我有Word显示所有字符,看起来书签删除,直到第1段结束后,它不起作用,即使整个段落组都被标记在一起。
有没有办法解决这个问题,也许我不应该使用书签来删除文本组?否则,如果书签是要走的路,我该如何让它们删除它们所在的行并跨越多个段落并删除。
我使用书签的原因是用户希望在单词doc中看到它们,他们希望能够自己标记部分,然后应用程序将拾取它并根据提供的答案隐藏部分。
以下是生成的xml:
的示例
<w:p w:rsidR="002C4A92" w:rsidRDefault="002C4A92">
<w:pPr>
...
</w:pPr>
<w:bookmarkStart w:name="SWCBM" w:id="11" />
<w:r>
...
</w:r>
<w:r>
...
</w:r>
<w:r w:rsidR="0087646D">
...
</w:r>
<w:r>
...
</w:r>
<w:bookmarkEnd w:id="11" />
</w:p>
<w:p w:rsidR="002C4A92" w:rsidRDefault="002C4A92">
<w:pPr>
...
</w:pPr>
</w:p>
&#13;