GetObjectByPath
文档属性、内容提取
描述
通过路径表达式读取对象树的任意节点,无需按编号遍历对象
语法
Delphi
Function TPDFlib.GetObjectByPath(Const Path: WideString; InfoID: Integer): WideString;参数
| Path | 路径表达式 |
|---|---|
| InfoID | 1 为类型名称(boolean、number、string、name、array、dict、stream、null);2 为文本形式的标量值;3 为序列化形式,上限为 64 KB;4 为上一步按索引选择字典条目时的键名称 |
返回值
| '' | 路径无法解析,或该值没有所请求 InfoID 的表示形式 |
|---|---|
| Text | 请求的信息 |
备注
路径步骤是以 / 分隔、从尾部字典开始的字典键(Root/Pages/Kids[0]/MediaBox),可选前缀为 trailer,还可使用选择从零开始的第 N 个页面字典的 pages[N] 根节点 从零开始的 [N] 选择器可选择数组项或第 N 个字典条目,且每一步都会解析间接引用
一次调用即可完成此前需要 GetObjectToString 与手写解析才能完成的元数据探查、合规性抽查和支持诊断
示例
W:= PDF.GetObjectByPath('Root/Pages/Kids[0]/MediaBox[2]', 2); // page width
T:= PDF.GetObjectByPath('pages[0]/Type', 2); // 'Page'另请参阅
GetObjectByPathCount, GetObjectToString, GetCatalogInformation