property SignatureCount: Integer; // somente leitura
SignatureCount retorna o número de dicionários de assinatura atualmente presentes no
documento. O PDFium enumera campos de assinatura do AcroForm (PDF 1.7 spec section 12.8)
— cada entrada corresponde a um campo /Sig cujo valor /V é
um dicionário de assinatura (/Type /Sig) que carrega a
string hexadecimal /Contents e a cobertura /ByteRange
O valor é 0 quando Active é False, quando o
PDF carrega apenas espaços reservados de assinatura vazios que ainda não foram
preenchidos ou quando o arquivo simplesmente não foi assinado. Observe que esta é
uma contagem em nível de documento: campos de assinatura podem estar visualmente
posicionados em qualquer página, mas a contagem em si é global
Use Signature[Index] para recuperar um único registro
TPdfSignature contendo os bytes brutos de PKCS#7 Content, a
string Encoding (adbe.pkcs7.detached,
ETSI.CAdES.detached, etc.), as strings Reason /
Time fornecidas pelo assinante e o nível Permission. O PDFium Delphi Component expõe
apenas dados de inspeção; verificar a assinatura exige uma biblioteca de
criptografia de terceiros para validar o blob PKCS#7 em relação ao intervalo de
bytes do documento
n valida o estado no
momento da assinatura, não necessariamente o estado atualSaveToFile desde que nenhum novo
campo seja adicionado; assinar externamente e salvar por meio de FPDF_SaveAsCopy
preserva as assinaturas existentes byte a byteFormFieldCount para verificar se o documento possui
campos interativos adicionais que não são de assinatura
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;