有没有办法为段落存储额外的数据,在用户打开并在 MS Word 中保存文档后,这些数据会保留下来。
我一直为此使用 CusotmXML,但事实证明这是不可能的,因为 MS-Word 从文档结构中删除了所有 CusotmXML 元素。
每个段落或表格都有一个我想“配对”到我的数据源的 ID。所以稍后当我再次阅读 docx 时,我可以识别文档中每个未更改的段落/表格的来源。
有没有办法为段落存储额外的数据,在用户打开并在 MS Word 中保存文档后,这些数据会保留下来。
我一直为此使用 CusotmXML,但事实证明这是不可能的,因为 MS-Word 从文档结构中删除了所有 CusotmXML 元素。
每个段落或表格都有一个我想“配对”到我的数据源的 ID。所以稍后当我再次阅读 docx 时,我可以识别文档中每个未更改的段落/表格的来源。
一种可能性是插入一个 SET 字段。这会在文档中创建一个书签,您可以向其分配信息。但是,没有办法保护它免受用户删除它的影响。一个 DATA 字段也可能是一种可能性。
与“消失”(我认为它相当于“隐藏”字体格式)不同,如果用户习惯于显示非打印信息,则信息不会显示。但是,如果用户切换域代码 (Alt+F9),它将显示。
一个相当不错的解决方案,但是您是否考虑过为您的数据使用自定义运行并隐藏它以不显示使用Vanish
<w:rPr>
<w:vanish />
</w:rPr>
添加vanish
到run properties
将隐藏run
显示,您可以使用它来存储自定义数据而不影响文档的输出。
您可以在段落中使用 divId,在 xmlns:w14="http://schemas.microsoft.com/office/word/2010/wordml" 中有属性 w14:textId 和 w14:paraId。
例如:
<w:p w14:textId="81a184ad" w14:paraId="81a184ad" >
<w:pPr>
<w:divId w:val="124349312"/>
有关详细信息,请参阅[MS-Docx]。
或者,查看内容控件,您可以将其包裹在段落和表格中(或放入其中)。这些具有 ID 属性;它们还允许您在其标记属性中存储任意文本。该字符串的长度限制为 120 个字符。