EnumPageContentStates

页面操作

描述

跟踪选定页面所有内容层中的每条指令,并按内容顺序报告有效图形状态同一跟踪器会跨越页面

/Contents 数组继续工作,因此一个流中的 q 与后续流中匹配的 Q 能保持正确的栈状态

语法

Delphi

Function EnumPageContentStates(AfterInstruction: Boolean; Var States: Array Of TPDFlibContentGraphicsState): Integer;

参数

AfterInstruction 为真时选取每个操作符之后立即的快照,为假时选取每个操作符之前立即的快照

States 接收调用方提供数组所能容纳数量的记录

返回值

返回指令总数(包括未能放入 States 的记录);未选定文档或某层无法解析时返回 0

备注

先用空数组调用一次取得数量,分配目标后再调用一次填充

页面的 ExtGState、字体和 XObject 资源在追踪前解析一次;有效黑点补偿以 Default 开始,跟随 gs 变更和 q/Q 恢复,并随每个快照报告

XObject 的 Do 快照识别图像、表单或 PostScript 资源,并报告变换后的调用边界

文本显示算子按简单或复合字体度量推进 TextMatrix,包括横排或竖排、间距、缩放和 TJ 调整

初始裁剪边界使用所选页面的 CropBox(带标准 MediaBox 回退),后续路径算子更新保守或精确的裁剪边界

未解析的外部资源保留其标识符,不虚构有效值

该 API 刻意保持仅页面级;需要包含 Form XObject 指令时请使用 EnumPageContentStatesEx