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