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 开发人员指南。
备注
如需了解更多相关信息,请参阅相关的库文档或演示项目。