Semantisk sammenligning af indholdsstrømme

HPDFContentStream kan normalisere afkodet PDF-indhold til afgrænsede kanoniske hændelser og sammenligne hændelserne uden at betragte uskadelige serialiseringsvalg som ændringer

Deklarationer

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;

Normalisering

Diagnosticering og grænser

THPDFContentSemanticStatistics rapporterer token-, operation-, tilstandsoperation-, redundant tilstand-, normaliseret hændelse-, maksimal stakdybde-, kanonisk byte-, fejlforskydning-, gyldigheds- og grænseoplysninger. Sammenligningen rapporterer også den første afvigende normaliserede hændelse

Fejldannede indlejrede ordbogsoperander, ugyldig aritet for tilstandsoperatorer, umatchede eller ikke-lukkede grafiktilstandsafgrænsninger, efterfølgende operander, operationsoverskridelse og overskridelse af kanoniske byte fejler lukket og rapporterer aldrig ækvivalens

Overfør afkodede indholdsbytes. Afkodning af strømfiltre og afstemning af ressourcenavne mellem forskellige ressourceordbøger forbliver kalderens ansvar