THPDFContentOperatorEventData 记录
向监听器递送一次内容流操作符访问,携带位置、状态、操作数视图和要应用的动作
声明
THPDFContentOperatorEventData= record
Phase: THPDFContentOperatorVisitPhase;
OperationIndex: Integer;
NodeIndex: Integer;
OperatorName: AnsiString;
OperandCount: Integer;
StartOfs: Integer;
EndOfs: Integer;
State: THPDFContentOperatorState;
View: THPDFContentOperatorView;
Action: THPDFContentOperatorAction;
Replacement: SysUtils.TBytes;
end;
单元
HPDFContentStream
字段
| 字段 | 用途 |
|---|---|
Phase | 访问阶段:covpBeginStream、covpOperator 或 covpEndStream |
OperationIndex | 操作符在流中的从零起算序号 |
NodeIndex | 操作节点在语法树中的索引 |
OperatorName | 操作符文本,例如 Tj 或 cm |
OperandCount | 操作节点拥有的操作数数量 |
StartOfs | 操作在源流中的起始字节偏移 |
EndOfs | 操作结束后的字节偏移 |
State | 访问点处的图形状态、文本对象、标记内容和兼容性嵌套深度 |
View | THPDFContentOperatorView,提供对操作与操作数字节的只读访问 |
Action | 监听器决定:coaKeep、coaDelete、coaReplace、coaStop 或 coaReject |
Replacement | Action 为 coaReplace 时用来替换该操作的新字节 |
使用说明
- 由
IHPDFContentOperatorVisitor.VisitContentOperator和THPDFContentOperatorEvent处理器接收 - 把
Action设为coaDelete或coaReplace(附Replacement字节)即可改写流,设为coaStop提前结束本轮,设为coaReject则以错误状态中止 View只在回调期间有效;返回前先把需要的操作数字节复制出来