property SignatureCount: Integer; // read only
يعيد SignatureCount عدد قواميس التوقيع الموجودة حاليًا في
المستند. ويعدّد PDFium حقول توقيع AcroForm (البند 12.8 من مواصفة PDF 1.7)
— كل مدخل يقابل حقل /Sig تكون قيمة /V
فيه قاموس توقيع (/Type /Sig) يحمل
سلسلة /Contents السداسية وتغطية /ByteRange
تساوي القيمة 0 عندما تكون Active بقيمة False، أو عندما يحمل
ملف PDF عناصر نائبة لتوقيعات فارغة لم تُملأ بعد، أو عندما
يكون الملف ببساطة غير موقَّع. وانتبه إلى أن هذا عدّ على مستوى المستند: يمكن وضع حقول
التوقيع بصريًا على أي صفحة، لكن العدد نفسه عام
استخدم Signature[Index] لاسترداد سجل TPdfSignature
واحد يحمل بايتات Content الخام بصيغة PKCS#7، وسلسلة
Encoding (adbe.pkcs7.detached أو
ETSI.CAdES.detached وغيرها)، وسلسلتي Reason /
Time المزودتين من الموقّع، ومستوى Permission. ويكشف PDFium Delphi Component
بيانات الفحص فقط؛ فالتحقق من التوقيع يتطلب مكتبة تشفير خارجية
تتحقق من كتلة PKCS#7 مقابل نطاق بايتات المستند
n من الحالة لحظة التوقيع، لا
بالضرورة من الحالة الحاليةSaveToFile ما دام لم يُضف حقل
جديد؛ والتوقيع خارجيًا والحفظ عبر FPDF_SaveAsCopy
يحفظان التواقيع الموجودة بايتًا ببايتFormFieldCount لمعرفة ما إذا كان المستند يحتوي
حقولًا تفاعلية إضافية غير توقيعية
var I: Integer;
var Sig: TPdfSignature;
for I := 0 to Pdf1.SignatureCount - 1 do
begin
Sig := Pdf1.Signature[I];
Memo1.Lines.Add(Format('Signer reason: %s, time: %s',
[Sig.Reason, Sig.Time]));
end;