THotPDF.AddLoadedSignedSignatureField Metodu

Yüklenmiş bir belgeye imzalamaya hazır bir imza alanı ekler. Alan, ayrılmış /ByteRange ve /Contents alanına sahip bir imza sözlüğü taşır; böylece belge kaydedildikten sonra SignPDFWithPFX, PreparePDFForSigning ve InsertSignatureHex onu imzalayabilir. BeginIncrementalUpdate ile birlikte bu, zaten imzalanmış bir PDF'in ikinci imzayı aldığı yoldur

Bildirim

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;

Birim

HPDFDoc

Parametreler

AdAmaç
PageIndexİmza widget'ını gösteren yüklenmiş sayfanın sıfır tabanlı indeksi
X1, Y1, X2, Y2PDF kullanıcı uzayında widget dikdörtgeni (point, orjin sol altta); genişlik ve yükseklik pozitif olmalıdır
AFieldNameYeni imza alanının adı; boş olmamalı ve belgede zaten mevcut olmamalıdır
ContentsBytesCMS imzası için ayrılan baytlar (iki katı sayıda hex hanesi olarak yazılır); sertifikalar ve varsa timestamp token dahil tüm imzayı barındırmalıdır
SubFilterİmza biçimi, örneğin adbe.pkcs7.detached veya ETSI.CAdES.detached
Reason, Location, ContactNameİmza sözlüğünün isteğe bağlı /Reason, /Location ve /ContactInfo girdileri

Dönüş değeri

Yeni form alanının indeksini döndürür; PageIndex aralık dışındayken -1 döndürür

Kullanım notları

Örnek

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

İlgili API'ler