Windows Signature Appearance Profiles

The Windows sign operation can generate a visible Unicode signature appearance from a named built-in preset and an explicitly supplied embeddable TrueType font

{"schemaVersion":1,"type":"sign","incremental":true,
 "existingField":true,"fieldName":"ApprovalOne",
 "pfxFile":"C:/keys/signer.pfx","pfxPassword":"password",
 "appearance":{"profileName":"HotPDF.StandardApproval",
   "text":"Signed by Alice","fontFile":"C:/fonts/DejaVuSans.ttf"}}

Actual preset selection

profileNameGenerated configuration
HotPDF.StandardApproval11 pt centred blue text, 4 pt padding, a rectangle border, a white background, and a single text line
HotPDF.StandardCertification10 pt left-aligned black text, 5 pt padding, a rectangle border, a white background, multiline wrapping, and 1.35 line spacing
HotPDF.Compact8 pt right-aligned black text, 1 pt padding, no painted background or border, and a single text line

The selected preset configures the actual producer rather than labelling caller-defined visual options; these are the same configurations returned by HPDFSelectHeadlessSignatureAppearanceProfile

text supplies the actual caption and fontFile supplies its TrueType program; both are required, nonempty Unicode strings, and all three appearance strings are limited to 16,384 UTF-8 bytes with no NUL

Font embedding permissions, Unicode validity, available glyphs, complex shaping requirements, caption fit, and configured limits are enforced during generation

Widgets and signed documents

Generation updates the normal AP/N Form XObject for every Widget belonging to the selected signature field, including merged fields and fields with separate Widget children

Each Widget supplies its own positive rectangle dimensions and optional MK/R rotation of 0, 90, 180, or 270 degrees; preset alignment takes precedence over inherited alignment hints

Rollover and down appearances are preserved when an existing AP dictionary is present; malformed geometry, appearance dictionaries, rotations, or cyclic Widget hierarchies reject generation

The signing operation supports existing fields, new fields, incremental encrypted updates, unsigned-document signing, first certification signatures, and subsequent approval signatures permitted by P2 or P3 and field-lock policies

Use certificationPermission to select actual certification behaviour; choosing the StandardCertification appearance alone does not certify the document

Generated font and appearance objects follow the original document encryption policy, whilst the original source prefix and earlier signatures remain intact for permitted incremental signing

Seed requirements and limits

A required SV AppearanceFilter matches only the preset actually generated in this signing operation; existing metadata or a previously saved appearance does not satisfy that requirement by itself

The AP dictionary records HotPDFProfile for inspection, whilst the successful result reports appearanceProfile; both describe the preset used by this operation

Font bytes are capped at the smaller of 8 MiB and one eighth of memoryBytes, generated appearance bytes share a cap of one eighth of memoryBytes, and each Widget adds seven bounded objects subject to objectCount

Cancellation, invalid presets, unmet required seeds, and invalid generation preserve the original document handle and publish no PDF bytes; output callbacks retain the existing callback failure semantics

Combine appearance with actual signing timestamps, certification and legal attestation, or authenticated signed revocation information

See Incremental PFX Signing for the operation lifecycle, permissions, budgets, and publication contract