内容流语义比较

HPDFContentStream 可以将解码的 PDF 内容规范化为有界规范事件,并比较这些事件,而不会将无害的序列化选择视为更改

声明

function HPDFNormalizeContentStreamGraphicsState(
  const Bytes: TBytes; out Canonical: TBytes;
  out Statistics: THPDFContentSemanticStatistics;
  NumberTolerance: Double = 1E-9;
  MaxOperations: Integer = 1000000;
  MaxCanonicalBytes: Int64 = 67108864
): boolean;

function HPDFCompareContentStreamsSemantic(
  const Left, Right: TBytes;
  out Info: THPDFContentSemanticCompareInfo;
  NumberTolerance: Double = 1E-9;
  MaxOperations: Integer = 1000000;
  MaxCanonicalBytes: Int64 = 67108864
): boolean;

规范化

诊断与边界

THPDFContentSemanticStatistics 报告令牌、操作、状态操作、冗余状态、规范化事件、最大栈深度、规范字节、错误偏移、有效性和限制信息。比较还报告第一个不同的规范化事件

格式错误的嵌套字典操作数、无效的状态操作符元数、未匹配或未关闭的图形状态范围、尾随操作数、操作溢出和规范字节溢出会失败关闭,并且永远不会报告等效

传入解码后的内容字节。流过滤器解码和跨不同资源字典的资源名称协调仍是调用方的责任