Σημασιολογική Σύγκριση Content Stream

Η HPDFContentStream μπορεί να κανονικοποιήσει το αποκωδικοποιημένο περιεχόμενο PDF σε οριοθετημένα κανονικά (canonical) events και να συγκρίνει αυτά τα events, χωρίς να αντιμετωπίζει αβλαβείς επιλογές σειριοποίησης ως αλλαγές

Λεπτομέρειες διεπαφής

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 αναφέρει πληροφορίες για tokens, λειτουργίες, λειτουργίες κατάστασης, πλεονάζουσα κατάσταση, κανονικοποιημένα events, μέγιστο βάθος στοίβας, canonical bytes, offset σφάλματος, εγκυρότητα, και όρια. Η σύγκριση αναφέρει επίσης το πρώτο διαφορετικό κανονικοποιημένο event

Κακοσχηματισμένα ένθετα τελεστέα λεξικού, μη έγκυρη αριθμότητα (arity) τελεστή κατάστασης, μη αντιστοιχισμένα ή ανοιχτά scopes graphics-state, περιττά τελεστέα, υπερχείλιση λειτουργιών, και υπερχείλιση canonical bytes αποτυγχάνουν με ασφαλή τρόπο (fail closed) και δεν αναφέρουν ποτέ ισοδυναμία

Κακοσχηματισμένα ένθετα τελεστέα λεξικού, μη έγκυρη αριθμότητα (arity) τελεστή κατάστασης, μη αντιστοιχισμένα ή ανοιχτά scopes graphics-state, περιττά τελεστέα, υπερχείλιση λειτουργιών, και υπερχείλιση canonical bytes αποτυγχάνουν με ασφαλή τρόπο (fail closed) και δεν αναφέρουν ποτέ ισοδυναμία