SearchText

文本, 提取

描述

在请求的页面范围内搜索文本块,并将命中项复制到调用方提供的数组中;即使数组较小,仍会返回匹配总数

该方法通过 OnProgress 报告页面进度,在页面和块之间遵从 Abort,并恢复搜索前所选的页面

自 v3.430.0 起,TPDFlibSearchOption 还接受 soDiacriticInsensitive(一对一 Unicode 折叠,使普通字母可匹配带重音的拉丁、希腊和西里尔对应字母)、soWildcards(查询中的 * 和 ?,遵循最左最长原则,并兼容全词匹配)以及 soAcrossLines(短语可通过跨页连接的匹配跨越行和块的分隔)

自 v3.452.0 起,soCanonicalEquivalent 可匹配规范等价的 NFC 和 NFD 文本,同时保留原始命中坐标;soGraphemeClusters 则防止匹配和替换拆分代理对、组合序列、表情符号 ZWJ 序列、旗帜或印度文字连字。与 soWildcards 结合时,一个 ? 会消耗一个完整的字素簇

命中项还携带块文本内的 MatchStart 和 MatchLength 位置,以及当 SearchContextChars 大于零时的 ContextBefore 和 ContextAfter 片段

命中项应立即处理而无需选择结果数组容量时,请使用 SearchTextEach

语法

Delphi

Function TPDFlib.SearchText(Const Query: WideString; Options: TPDFlibSearchOptions; Const PageRange: WideString; Var Hits: Array Of TPDFlibSearchHit): Integer;

参数

有关详细的参数描述,请参阅 PDF Library for Delphi 开发人员指南和头文件注释。

返回值

有关特定的返回值语义,请参阅 PDF Library for Delphi 开发人员指南。

备注

如需了解更多相关信息,请参阅相关的库文档或演示项目。