HPDFWriteHeadlessSignatureReservation
Optionale THPDFHeadlessSignatureMetadata-Werte werden zu Unicode-Reason-, Location-, ContactInfo- und Name-Einträgen; derselbe StringEncoder gilt für Feldsperren-Namen und Metadaten, bevor irgendein Byte geschrieben wird
function HPDFWriteHeadlessSignatureReservation(Target: TStream;
ObjectNumber, Generation, ReservedCMSBytes, MaxObjectBytes: Integer;
CAdES: Boolean = False; CertificationPermission: Integer = 0;
CatalogObjectNumber: Integer = 0; CatalogGeneration: Integer = 0;
FieldLock: PHPDFHeadlessFieldLock = nil;
StringEncoder: THPDFHeadlessPolicyStringEncoder = nil;
StringEncoderContext: Pointer = nil;
Metadata: PHPDFHeadlessSignatureMetadata = nil;
DocumentTimestamp: Boolean = False): THPDFHeadlessSignatureReservation;
Schreibt ein echtes indirektes Signatur-Dictionary mit festen numerischen ByteRange-Slots und einer nullgefüllten hexadezimalen Contents-Reservierung
Der Aufrufer besitzt den Output-Stream und muss eine positive Objektnummer, eine Generation von 0 bis 65535, eine positive DER-Reservierung und ein Objekt-Byte-Budget liefern
Die Funktion prüft die vollständige Dictionary-Größe, bevor sie die Reservierung schreibt oder allokiert, und füllt ihre hexadezimale Payload in begrenzten Blöcken
Setzen Sie CAdES=true für ETSI.CAdES.detached; der Default schreibt adbe.pkcs7.detached
Liefern Sie eine gültige Catalog-Referenz und eine Zertifizierungsberechtigung von 1 bis 3, um eine DocMDP-Transform zu emittieren; eine optionale Feldsperre emittiert ihre echte FieldMDP-Transform im selben Reference-Array
Feldsperren-Namen werden validiert und als UTF-16BE-PDF-Strings kodiert, bevor die Reservierung geschrieben wird; verschlüsselte Low-Level-Aufrufer liefern einen StringEncoder-Callback, der die Plaintext-Bytes empfängt und die verschlüsselten String-Bytes zurückgibt
Der Callback läuft, bevor Reservierungs-Bytes geschrieben werden, und die kodierte Expansion fließt ins Objektbudget ein; THPDFHeadlessDocument liefert den authentifizierten Dokumentverschlüsselungskontext automatisch
Registrieren Sie das zurückgegebene Objekt-Offset beim gemeinsamen xref-Writer, verbinden Sie das Objekt mit einem Signaturfeld und vervollständigen Sie den PDF-Trailer, bevor Sie HPDFFinalizeHeadlessSignatureReservation aufrufen
Low-Level-Aufrufer sind für Staging und Veröffentlichung verantwortlich; THPDFHeadlessDocument.SignToFile bietet Quellschutz, Verschlüsselungsbewahrung, Budgets und atomare Dateiveröffentlichung
DocumentTimestamp=true schreibt DocTimeStamp/ETSI.RFC3161 statt eines Approval-Profils und untersagt Certification- oder Field-Lock-Transform-Referenzen; finalisieren Sie ihn mit HPDFFinalizeHeadlessDocumentTimestampReservation