更改旧文档富文本字段的隐藏属性

Changing Hide properties for old documents' Rich Text Fields

well known issues 个关于富文本字段。

我正在处理一些修改请求,其中包括更改富文本字段的隐藏属性,以便它包含的图像在预览时显示,而不仅仅是在编辑时;这些更改在新创建的文档上按预期工作。

但是在更改之前创建的文档保留了旧的 "hide-when" 属性。

有什么方法可以强制更改旧文档,还是必须从头开始创建它们?

可能的解决方法是创建另一个 RTF 并使用代理或 QuerySave 属性 创建新附件并将其粘贴到新字段中。

这应该可行,但看起来 乱七八糟 ,至少可以说。

遗憾的是,无法开箱即用地操作现有 RichtextItems 的 HideWhenFormula。 要在需要时摆脱旧皮:

  • 用C-API把它们扔掉(真痛)
  • 购买能够处理富文本的产品(例如 Midas)

正如 Stan 在评论中指出的那样:您还可以将文档导出为 XML,修改隐藏时间,然后重新导入。唯一的缺点:notesdocument 中的所有内容并非完全可往返,您可能会丢失一些格式。
一种甚至 "less" 侵入性的方法是将文档导出为 DXL,修改 HideWhens,导入为另一个文档,然后使用默认文档操作仅 "exchange" 原始文档中的 richtextitem。

导出的 XML 可能看起来像这样,文本查找和替换并不难:

<item name='Body' sign='true' seal='true'>
  <richtext>
    <pardef id='1' leftmargin='1in' rightmargin='100%'/>
    <par def='1'/>
    <pardef id='2'>
      <code event='hidewhen'>
        <formula>PleaseHideMe = @True</formula>
      </code>
    </pardef>
    <par def='2'>This is hidden text</par>
    <pardef id='3'/>
    <par def='3'/>
    <par def='3'/>
  </richtext>
</item>