HPDFWriteHeadlessSignatureReservation

Optionele THPDFHeadlessSignatureMetadata-waarden worden Unicode Reason-, Location-, ContactInfo- en Name-entries; dezelfde StringEncoder geldt voor zowel field-lock-namen als metadata voordat er bytes worden geschreven

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;

Schrijft een echte indirecte signature dictionary met fixed numerieke ByteRange-slots en een zero-filled hexadecimale Contents-reservatie

De aanroeper is eigenaar van de uitvoerstream en moet een positief objectnummer, een generation van 0 tot en met 65535, een positieve DER-reservatie en een object-bytebudget aanleveren

De functie checkt de complete dictionary-grootte vóór het schrijven of toewijzen van de reservatie en vult diens hexadecimale payload in begrensde chunks

Zet CAdES=true voor ETSI.CAdES.detached; de default schrijft adbe.pkcs7.detached

Levert een geldige Catalog-reference en een certification permission van 1 tot en met 3 om een DocMDP-transform uit te schrijven; een optionele field lock schrijft diens echte FieldMDP-transform in dezelfde Reference-array

Field lock-namen worden gevalideerd en als UTF-16BE PDF-strings encoded vóór het schrijven van de reservatie; encrypted low-level aanroepers leveren een StringEncoder-callback die de plaintext-bytes ontvangt en de encrypted string-bytes teruggeeft

De callback draait voordat er reservation-bytes worden geschreven, en encoded expansion telt mee in het objectbudget; THPDFHeadlessDocument levert de geauthenticeerde document-encryptiecontext automatisch

Registreer de teruggegeven object-offset bij de gedeelde xref-writer, koppel het object aan een signature-veld en rond de PDF-trailer af vóór je HPDFFinalizeHeadlessSignatureReservation aanroept

Low-level aanroepers zijn verantwoordelijk voor staging en publicatie; THPDFHeadlessDocument.SignToFile biedt bronbescherming, encryption-preservatie, budgetten en atomaire bestandpublicatie

DocumentTimestamp=true schrijft DocTimeStamp/ETSI.RFC3161 in plaats van een approval-profiel en verbiedt certification- of field-lock-transform-referenties; rond die af met HPDFFinalizeHeadlessDocumentTimestampReservation