Документация PDFiumPas

SignatureCount Свойство

Эта запись API сохраняет идентификаторы, сигнатуры, блоки кода и термины PDF в исходном виде.
Компонент: TPdf  ·  Модуль: PDFium
Количество полей цифровой подписи, встроенных в документ

Синтаксис

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, содержащую необработанные байты PKCS#7 Content, строку Encoding (adbe.pkcs7.detached, ETSI.CAdES.detached и т. д.), строки Reason / Time, заданные подписантом, и уровень Permission PDFiumPas предоставляет только данные для просмотра; проверка подписи требует сторонней криптографической библиотеки для валидации блока PKCS#7 относительно диапазона байт документа

Примечания

Пример

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;

См. также

Signature, FormFieldCount, FormType