Word vs 获取带有隐藏字符的文档文本

Word vsto get text of document with hidden characters

我正在为 Word 开发文本分析 vsto 加载项。 因此我得到这样的活动文档的文本:

Globals.ThisAddin.Apllication.ActiveDocument.Content.Text

之后我分析了一下。分析 returns Word 应注释的位置列表(如字符 3 - 6 和字符 10 - 13)。

问题是 3 到 6 的注释似乎在文档中添加了一个字符(隐藏的)。因为 Word 在第一个评论之后所做的所有评论都太早了一个字符。

有什么方法可以解决这个问题,或者我可以如何获取带有隐藏字符的文本?

我找到了 TextRetrievalMode 但我无法使用它。

基本上,答案是"No, you can't do it the way you propose."

是的,Word 确实将 "hidden characters" 添加到无法使用对象模型拾取的文本流中。尝试使用字符索引值不会可靠地工作。靠谱的方法是Word的built-inFind/Replace带通配符。如果 RegEx 是绝对必要的,那么 character-index 范围内的某种 Find/Replace(例如,使用 RegEx 计算的索引之前开始 5 个字符和之后结束 5 个字符)可能是 double-check 结果并选择正确的范围。

可能,根据分析的类型,使用关闭的文件可能会更好,利用 Office Open XML。这样就不会出现 Word 用于结构信息的 "hidden characters" 的问题。另一方面,有很多格式信息会打断需要应对的文本运行...