طريقة THotPDF.AddLoadedSignedSignatureField

يضيف حقل توقيع جاهزًا للتوقيع إلى مستند محمَّل. يحمل الحقل قاموس توقيع مع مساحة محجوزة لـ /ByteRange و/Contents، بحيث يستطيع SignPDFWithPFX وPreparePDFForSigning وInsertSignatureHex توقيعه بمجرد حفظ المستند. وبالتزامن مع BeginIncrementalUpdate تصبح هذه هي الطريقة التي يحصل بها ملف PDF موقَّع مسبقًا على توقيع ثانٍ

التصريح

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;

الوحدة

HPDFDoc

المعاملات

الاسمالغرض
PageIndexفهرس مبني على الصفر للصفحة المحمَّلة التي تعرض ودجة التوقيع
X1, Y1, X2, Y2مستطيل الودجة في فضاء المستخدم لـ PDF (بالنقاط، والمصدر عند أسفل اليسار)؛ يجب أن يكون العرض والارتفاع موجبين
AFieldNameاسم حقل التوقيع الجديد؛ يجب ألا يكون فارغًا وألا يكون موجودًا مسبقًا في المستند
ContentsBytesالبايتات المحجوزة لتوقيع CMS (تُكتب بضعف عدد الخانات الست عشرية)؛ يجب أن تتسع للتوقيع الكامل بما في ذلك الشهادات وأي رمز طابع زمني
SubFilterصيغة التوقيع، مثل adbe.pkcs7.detached أو ETSI.CAdES.detached
Reason, Location, ContactNameمدخلات /Reason و/Location و/ContactInfo الاختيارية في قاموس التوقيع

قيمة الإرجاع

تُعيد فهرس حقل النموذج الجديد، أو -1 عندما يكون PageIndex خارج النطاق

ملاحظات الاستخدام

مثال

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

واجهات برمجة التطبيقات ذات الصلة