搜索文档的页面以查找与提供的文本选项匹配的内容。
选项
的一个实例DocumentViewerFindText其中包含边界、开始位置、匹配选项和结果后操作的选项。
类型列表DocumentViewerMultiLineTextItem,其中列表中的每个项都是搜索的匹配项。如果没有找到匹配项,零返回,而不是一个空列表。
找到的页面文档查找搜索文本的匹配项。期权可以通过DocumentViewerFindText,允许指定边界、起始位置、匹配选项、呈现和选择。
找到是同步操作,应返回的列表DocumentViewerMultiLineTextItem,每根火柴一根。如果没有找到匹配项,零返回,而不是空数组。
找到会透过主题是。操作事件。DocumentViewerOperationEventArgs。操作属性设置为DocumentViewerOperation。FindText.找到将在搜索时发送每个页面的结果,并在操作结束时发送所有结果。设置DocumentViewerOperationEventArgs。中止来真正的将取消操作,但不呈现任何结果(即使DocumentViewerFindText。调整RenderResults是真正的).
如果一页是DocumentPageText在搜索页面时没有检索到,找到可以检索DocumentPageText的值获取该页的数据AutoGetText.如果没有DocumentPageText是否找到,页面是否会返回零作为该页上搜索的结果。
DocumentViewerFindText。BeginPosition和[DocumentViewerFindText。设置界限而且方向关于搜索。查找文本操作将始终朝着的方向进行搜索DocumentViewerFindText。BeginPosition[DocumentViewerFindText。EndPosition], even if [DocumentViewerFindText.EndPosition] is a lower page number and/or character index. Switching these two properties will change the direction of search.
默认情况下,DocumentViewerFindText。开始设置为DocumentViewerFindTextStart。BeginPosition,这意味着搜索将永远从DocumentViewerFindText。BeginPosition.的其他值DocumentViewerFindText。开始允许搜索从提供的边界之间的某个地方开始(在文本选择处使用SelectedTextBegin或SelectedTextEnd,或手动设置位置用DocumentViewerFindText。ManualStartPosition),然后创建两个子搜索:
可以自动突出显示结果DocumentViewerFindText。调整RenderResults而且FoundTextBrush.需要注意的是,后续调用将继续添加到要呈现的结果的内部列表中,因此,最好在每次调用之前清除最后结果的呈现找到与ClearRenderedFoundText.所有结果将按从开始位置到停止位置的顺序返回,并且可以自动选择和滚动到第一个结果DocumentViewerFindText。SelectFirstResult.
以下是对每个选项的简要说明:
选项 | 描述 |
---|---|
DocumentViewerFindText。BeginPosition | 设置搜索区域的边界之一,并帮助确定方向。 |
[DocumentViewerFindText。EndPosition] | 设置搜索区域的边界之一,并帮助确定方向。 |
DocumentViewerFindText。文本 | 将文本设置为匹配。 |
DocumentViewerFindText。MatchCase | 指示大小写对搜索是否重要。 |
DocumentViewerFindText。WholeWordsOnly | 指示是否DocumentViewerFindText。文本应该只匹配整页文字。 |
DocumentViewerFindText。FindAll | 指示是搜索范围内的所有匹配项,还是只搜索第一个匹配项。 |
DocumentViewerFindText。调整RenderResults | 属性中的结果是否突出显示主题是。视图. |
DocumentViewerFindText。SelectFirstResult | 自动将第一个排序结果设置为所选文本。 |
DocumentViewerFindText。开始 | 为边界内的搜索设置一个新的起始位置,就像文本选择一样。 |
DocumentViewerFindText。ManualStartPosition | 的值,允许手动选择字符索引DocumentViewerFindText。开始. |
DocumentViewerFindText。循环 | 指示是否返回以搜索之前未覆盖的其余边界DocumentViewerFindText。开始. |
一个副本的最后一个选项提供给一个完成找到可于LastFindText直到ClearLastFindText被称为。与以前的版本不同,DocumentViewerFindText不保存任何内部状态,因此,除非文档的某些内容发生了更改(例如使用DocumentViewerFindTextStart。InSelection或DocumentViewerFindTextStart。AfterSelection),相同DocumentViewerFindText输入实例应该返回相同的结果集。
找到将自动在文本行和文本页之间搜索,在行末使用“隐藏空间”的概念。找到将识别单词/行结束,并允许用空格分隔符匹配下一行的文本。如果找到可以识别一段文字的结尾,下一行文字就不会匹配了。
一些搜索词“Hello World”的例子:
在页面上查找文本时,一个常见的场景是支持“增量查找”、“查找下一个”和“查找上一个”操作。“查找下一项”和“查找上一项”用于从一个匹配项继续搜索到某个方向的下一个匹配项,“增量查找”尝试从当前位置_内继续匹配,当匹配失败时尝试“查找下一项”。这些操作可以使用DocumentViewerFindText中的不同选项:
设置搜索的边界DocumentViewerFindText。BeginPosition和[DocumentViewerFindText。像往常一样。例如,可以从第1页字符0搜索到第3页字符-1(页末)。将值切换到DocumentViewerFindText。BeginPosition和[DocumentViewerFindText。EndPosition]will change whether the operation is a "Find Next" or "Find Previous".
集DocumentViewerFindText。开始两种选择之一:
DocumentViewerFindTextStart。InSelection从当前选定的文本中继续搜索。这对于“增量查找”操作非常理想,例如,“L”已经从以前的查找中选中,并且您希望继续匹配后面的剩余文本“EADTOOLS”,而不是查找下一个或上一个匹配。
DocumentViewerFindTextStart。AfterSelection开始搜索后,选择结束,在搜索的方向。这对于“查找下一个”或“查找上一个”非常有用。如果不存在选择,则DocumentViewerFindText. txt。BeginPosition]作为起点。要继续上面的示例,这将搜索下一个完整的“LEADTOOLS”后已经选定的“L”。
确保DocumentViewerFindText。SelectFirstResult是真正的因此,第一个匹配项将成为新的选定项。这是一个关键的步骤,可以继续发送相同的内容DocumentViewerFindText实例,但移动到下一个或上一个结果。
可选地,使用DocumentViewerFindText。调整RenderResults而且DocumentViewerFindText。FindAll或DocumentViewerFindText。循环以确保整个边界区域被选中并突出显示。
中创建的示例开始主题是,删除Example函数中的所有代码并添加下面的代码。当用户单击Example按钮时,将找到所有出现的单词“LEAD”。