property SignatureCount: Integer; // read only
SignatureCount 返回文档中当前存在的签名字典数量。
PDFium 枚举 AcroForm 签名字段(PDF 1.7 规范第 12.8 节)
— 每个条目对应一个 /Sig 字段,其 /V 值
是携带 /Contents 十六进制字符串和 /ByteRange 覆盖的
签名字典(/Type /Sig)
当 Active 为 False、
PDF 仅携带尚未填写的空签名占位符或
文件根本没有签名时,值为 0。请注意这是文档级计数:
签名字段可以视觉放置在任何页面上,但计数本身是全局的
使用 Signature[Index] 检索单个 TPdfSignature
记录,包含原始 PKCS#7 Content 字节、
Encoding 字符串(adbe.pkcs7.detached、
ETSI.CAdES.detached 等)、签名者提供的 Reason /
Time 字符串和 Permission 级别。PDFium Delphi Component 仅暴露
检查数据;验证签名需要第三方加密
库针对文档字节范围验证 PKCS#7 blob
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;