THotPDF.AddLoadedSignedSignatureField Method

Aggiunge a un documento caricato un campo firma pronto per la firma. Il campo porta un dizionario di firma con spazio riservato per /ByteRange e /Contents, così SignPDFWithPFX, PreparePDFForSigning e InsertSignatureHex possono firmarlo una volta salvato il documento. Insieme a BeginIncrementalUpdate è il modo in cui un PDF già firmato riceve una seconda firma

Dichiarazione

function AddLoadedSignedSignatureField(PageIndex: Integer; X1, Y1, X2, Y2: Single;
  const AFieldName: AnsiString; ContentsBytes: Integer = 8192;
  const SubFilter: AnsiString = 'adbe.pkcs7.detached';
  const Reason: AnsiString = ''; const Location: AnsiString = '';
  const ContactName: AnsiString = ''): Integer;

Unità

HPDFDoc

Parametri

NomeScopo
PageIndexIndice in base zero della pagina caricata che mostra il widget della firma
X1, Y1, X2, Y2Rettangolo del widget nello spazio utente PDF (punti, origine in basso a sinistra); larghezza e altezza devono essere positive
AFieldNameNome del nuovo campo firma; non deve essere vuoto e non deve già esistere nel documento
ContentsBytesByte riservati alla firma CMS (scritti come il doppio di cifre esadecimali); devono contenere la firma completa, inclusi i certificati e l'eventuale token timestamp
SubFilterFormato della firma, ad esempio adbe.pkcs7.detached o ETSI.CAdES.detached
Reason, Location, ContactNameVoci opzionali /Reason, /Location e /ContactInfo del dizionario di firma

Valore restituito

Restituisce l'indice del nuovo campo modulo, o -1 quando PageIndex è fuori intervallo

Note d'uso

Esempio

PDF := THotPDF.Create(nil);
try
  PDF.BeginIncrementalUpdate('Signed.pdf');
  PDF.AddLoadedSignedSignatureField(0, 300, 120, 500, 160, 'Approver', 8192,
    'adbe.pkcs7.detached', 'Approved');
  PDF.SaveIncrementalUpdate('Prepared.pdf');
finally
  PDF.Free;
end;
// Signs the reserved field; the first signature stays valid
THotPDF.SignPDFWithPFX('Prepared.pdf', 'SignedTwice.pdf', 'Signer.pfx', 'password');

API correlate