THotPDF.AddLoadedSignedSignatureField Method

Lägger till ett signaturfält som är redo att signeras i ett inläst dokument. Fältet bär en signaturordbok med reserverat utrymme för /ByteRange och /Contents, så att SignPDFWithPFX, PreparePDFForSigning och InsertSignatureHex kan signera det när dokumentet har sparats. Tillsammans med BeginIncrementalUpdate är detta hur en redan signerad PDF får en andra 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;

Enhet

HPDFDoc

Parametrar

NamnSyfte
PageIndexNollbaserat index för den inlästa sida som visar signaturwidgeten
X1, Y1, X2, Y2Widgetrektangel i PDF-användarrymd (punkter, origo i nedre vänstra hörnet); bredden och höjden måste vara positiva
AFieldNameNamn på det nya signaturfältet; det får inte vara tomt och får inte redan finnas i dokumentet
ContentsBytesByte som reserveras för CMS-signaturen (skrivs som dubbelt så många hexadecimala siffror); det måste rymma hela signaturen, inklusive certifikat och eventuell tidsstämpeltoken
SubFilterSignaturformat, till exempel adbe.pkcs7.detached eller ETSI.CAdES.detached
Reason, Location, ContactNameValfria /Reason-, /Location- och /ContactInfo-poster i signaturordboken

Returvärde

Returnerar index för det nya formulärfältet, eller -1 när PageIndex är utanför giltigt intervall

Användningsanteckningar

Exempel

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

Relaterade API:er