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
| 0 | Ungültiger Parameterwert |
|---|---|
| 1 | Einstellung 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 IDSiehe auch
GetDeterministicDocumentID, SetDocumentIDSeed, GetDocumentFileID