PDFium Delphi Component Docs

SignatureCount Свойство

Компонент: TPdf  ·  Модуль: PDFium
Количество полей цифровой подписи, встроенных в документ

Syntax

property SignatureCount: Integer; // read only

Description

SignatureCount возвращает число словарей подписи, присутствующих в документе сейчас. PDFium перечисляет поля подписей AcroForm (раздел 12.8 спецификации PDF 1.7) — каждая запись соответствует полю /Sig, чьё значение /V является словарём подписи (/Type /Sig) с hex-строкой /Contents и покрытием /ByteRange

Значение равно 0, когда Active равно False, когда PDF несёт лишь пустые заглушки подписей, которые ещё не заполнялись, или когда файл просто не подписан. Учтите, это count на весь документ: поля подписей визуально могут лежать на любой странице, но сам count глобальный

Через Signature[Index] достаётся одна запись TPdfSignature с сырыми байтами Content PKCS#7, строкой Encoding (adbe.pkcs7.detached, ETSI.CAdES.detached и т.д.), заданными подписантом строками Reason / Time и уровнем Permission. PDFium Delphi Component отдаёт только данные для инспекции; проверка подписи требует сторонней криптографической библиотеки, валидирующей blob PKCS#7 против диапазона байт документа

Remarks

Example

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;

See Also

Signature, FormFieldCount, FormType