SetDeterministicDocumentID

Dokumenteigenschaften, Optimierung

Beschreibung

Aktiviert oder deaktiviert reproduzierbare Trailer-Dateibezeichner, die aus einem expliziten Seed oder normalisiertem serialisiertem Inhalt abgeleitet werden

Syntax

Delphi

Function TPDFlib.SetDeterministicDocumentID(Enable: Integer): Integer;

Parameter

EnableÜbergeben Sie 1, um den Trailer-Dateibezeichner aus einem expliziten Seed oder normalisiertem Dokumentinhalt abzuleiten, oder 0, um den standardmäßigen zeitbasierten Bezeichner wiederherzustellen

Rückgabewerte

0Ungültiger Parameterwert
1Einstellung erfolgreich angewendet

Hinweise

Bei Aktivierung leitet der nächste vollständige unverschlüsselte Speichervorgang den Trailer-/ID aus dem mit SetDocumentIDSeed gelieferten Seed ab. Ohne expliziten Seed streamt der Writer den serialisierten Header und Dokumentkörper durch SHA-256, normalisiert generierte Ressourcenbezeichner und XMP-Instanz-UUIDs und verwendet die ersten 16 Digest-Bytes für beide Einträge des initialen /ID-Arrays. Querverweisdaten, Trailer-Offsets und jeder vorherige Trailer-/ID sind ausgeschlossen, sodass Seiten-, Ressourcen-, Anhangs- und Metadatenänderungen den Bezeichner beeinflussen, Layout-Offsets hingegen nichtDer Bezeichner wird nur bei vollständigen Speichervorgängen erneuert. Inkrementelle Aktualisierungen schreiben den permanenten Bezeichner nie um, und verschlüsselte Dokumente behalten ihren vorhandenen Bezeichner, weil der erste

/ID-Eintrag in die Ableitung des Verschlüsselungsschlüssels eingeht. Automatische Daten und andere flüchtige Benutzermetadaten bleiben Inhalt; setzen Sie sie explizit, wenn zwei unabhängig erzeugte Dokumente denselben inhaltsabgeleiteten Bezeichner erhalten müssen

Beispiel

PDF.SetDeterministicDocumentID(1);
PDF.SetDocumentIDSeed('invoice-2026-07-0001');
PDF.DrawText(100, 100, 'Reproducible output');
PDF.SaveToFile('invoice.pdf'); // same seed, same trailer ID

Siehe auch

GetDeterministicDocumentID, SetDocumentIDSeed, GetDocumentFileID