openxml删除大书签

时间:2015-08-06 16:04:16

标签: c# asp.net ms-word openxml

我目前正在使用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;
&#13;
&#13;

0 个答案:

没有答案