Semantyczne porównywanie strumieni treści

HPDFContentStream może normalizować zdekodowane treści PDF do ograniczonych zdarzeń kanonicznych i porównywać te zdarzenia bez traktowania nieszkodliwych wyborów serializacji jako zmian

Deklaracje

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;

Normalizacja

Diagnostyka i limity

THPDFContentSemanticStatistics zgłasza informacje o tokenach, operacjach, operacjach stanu, nadmiarowych operacjach stanu, zdarzeniach znormalizowanych, maksymalnej głębokości stosu, bajtach kanonicznych, przesunięciu błędu, poprawności i limitach. Porównanie zgłasza również pierwsze różne zdarzenie znormalizowane

Złośliwe operandy zagnieżdżonych słowników, nieprawidłowa arność operatorów stanu, niedopasowane lub niezamknięte zakresy stanu grafiki, końcowe operandy, przepełnienie operacji i przepełnienie bajtów kanonicznych zawodzą w trybie zamkniętym i nigdy nie zgłaszają równoważności

Przekaż zdekodowane bajty treści. Dekodowanie filtrów strumieni i uzgadnianie nazw zasobów między różnymi słownikami zasobów pozostaje odpowiedzialnością wywołującego