API reference › Digital Signatures
pdfGetSigDict
Read back a signature's dictionary fields (/SubFilter,
BOOL32 __stdcall pdfGetSigDict(void* ISignature, TPDFSigDict* SigDict);
function pdfGetSigDict(const ISignature: Pointer; var SigDict: TPDFSigDict): LongBool; stdcall;
Purpose. Read back a signature's dictionary fields (/SubFilter, /Reason, /Location, signer name) and whether it's a completed, byte-range-covered signature.
Description. ISignature is not a distinct signature-object handle at all — it is reinterpreted directly as the document's own PPDF handle (GetDoc(PPDF(ISignature))) — there is no separate signature-handle address space in this ABI. The real backing (GetSigDictInfo) reads from either the import source's first /Sig-typed AcroForm field's /V dictionary (for a document that was opened already-signed), or the write-side pending signature state. Notable: if the signature's /V dict has no human-readable /Name, the implementation recovers the signer's subject Common Name by CMS-decoding the /Contents PKCS#7 blob itself via the Win32 crypt32 API — a genuine, non-trivial fallback, not merely returning an empty string.
Parameters.
| Parameter | Description |
|---|---|
ISignature | In practice, the document's own PPDF handle (cast to Pointer) — not a distinct signature handle. |
SigDict | Output: SubFilter/Reason/Location/SignerName (transient buffers), HasByteRange, IsSigned. |
Return value. True if a signature was found (import-side or write-side pending); False if none exists.
C# (P/Invoke)
[return: MarshalAs(UnmanagedType.Bool)]
Getters
pdfGetSigDict
The …A form takes UTF-8, …W
takes UTF-16; a bare name aliases the ANSI form.
Worked examples — complete programs in ten languages.