THotPDF.AddLoadedSignedSignatureField Method

Tilføjer et signaturfelt, der er klar til at signere, til et indlæst dokument. Feltet bærer en signaturordbog med reserveret plads til /ByteRange og /Contents, så SignPDFWithPFX, PreparePDFForSigning og InsertSignatureHex kan signere det, når dokumentet er gemt. Sammen med BeginIncrementalUpdate er det sådan, et allerede signeret PDF-dokument får en anden signatur

Deklaration

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;

Enhed

HPDFDoc

Parametre

NavnFormål
PageIndexNul-baseret indeks for den indlæste side, der viser signatur-widget'en
X1, Y1, X2, Y2Widget-rektangel i PDF-brugerrum (punkter, origo nederst til venstre); bredde og højde skal være positive
AFieldNameNavn på det nye signaturfelt; det må ikke være tomt, og det må ikke allerede findes i dokumentet
ContentsBytesBytes reserveret til CMS-signaturen (skrives som dobbelt så mange hex-cifre); pladsen skal rumme den komplette signatur, herunder certifikater og eventuel tidsstempel-token
SubFilterSignaturformat, for eksempel adbe.pkcs7.detached eller ETSI.CAdES.detached
Reason, Location, ContactNameValgfrie /Reason-, /Location- og /ContactInfo-poster i signaturordbogen

Returværdi

Returnerer indeks for det nye formularfelt eller -1, når PageIndex er uden for intervallet

Brugsnoter

Eksempel

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');

Relaterede API'er