我有一个Word插件,可以通过剪贴板将当前文档或选择复制到WPF RichTextBox
中进行进一步处理。然后代码将导航生成的FlowDocument
:
TextPointer cursor = document.ContentStart;
...
cursor = cursor.GetNextContextPosition(LogicalDirection.Forward);
我只对cursor.GetPointerContext(LogicalDirection.Forward) == TextPointerContext.Text
的游标感兴趣。我希望在源Word文档中获得与整个段落或至少统一格式化范围相关的块。但是,我注意到有时(为了我的目的经常忽略它),块在一个单词的正中间开始或结束。很多时候(但并非总是如此)它是一个带有德国变音符号的位置,但到目前为止并非所有变音符号都会产生这样的音符。
有人可以解释幕后发生的事情吗?有没有更好的方法来浏览文档?是否有一种简单的方法可以识别我通过这种方式得到的两个相邻的块(它们是TextRuns
?)在两半中切出一个单词并且不会被一个段落分开?
我希望获得最大的连续文本块,理想情况下不会重叠段落或格式更改。