Семантичне порівняння потоків вмісту

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 повідомляє інформацію про токени, операції, операції стану, надлишковий стан, нормалізовані події, максимальну глибину стека, канонічні байти, зсув помилки, дійсність та межі. Порівняння також повідомляє першу різну нормалізовану подію

Пошкоджені вкладені словники-операнди, недійсна арність оператора стану, непарні або незакриті області стану графіки, кінцеві операнди, переповнення операцій і переповнення канонічних байтів закриваються на збій і ніколи не повідомляють про еквівалентність

Передавайте декодовані байти вмісту. Декодування фільтрів потоку та узгодження імен ресурсів у різних словниках ресурсів залишаються відповідальністю викликаючого коду