SignDoc SDK
This topic describes changes in the SignDoc SDK behavior since the previous release.
Extended with Client Capture functionality
Capture functionality for handwritten signatures is now offered exclusively via the SD SDK and no longer via the SignWare component. The delivery of the SignWare component as part of the SignDoc product package is discontinued.
Windows: increase maximum number of simultaneously open files to 8192
SignDoc SDK now can use up to 8192 simultaneously open files, and therefore is no longer restricted by the Microsoft Visual C++ runtime default limit for simultaneously open files.
Use a time-stamp server even if the Timestamp string parameter is set
The Timestamp string parameter of SignDocSignatureParameters is used for the M entry in the signature dictionary; the time stamp from the time-stamp server (if configured) is used in the CMS signature.
Create appearance streams for widget annotations if NeedAppearances is true
Now, SignDocDocumentLoader.loadFromFile() and SignDocDocumentLoader.loadFromMemory() will (if the NeedAppearances entry in the interactive form dictionary of the PDF document is true or missing) create appearance streams for all widget annotations that do not already have an appearance stream and will remove all signature fields (following the behavior of the PDF processors). As a consequence, loading may fail due to missing fonts. You can disable the new behavior by setting the flag SignDocDocumentLoader.f_dont_create_appearances.
Add DA and DR to AcroForm when the first signature is added
SignDocDocument.addSignature() now adds dummy DA and DR entries to the interactive form dictionary of PDF documents for the first signature of the document if those entries do not yet exist. This prevents other software from breaking existing signatures by adding those entries.
Get the font of a text annotation returns font name rather than resource key
SignDocAnnotation::getFont() now returns the value of the BaseFont entry of the font selected by the annotation's DA entry.
Signature size is calculated without getSignatureSize ()
SignDoc SDK computes the signature size without calling those functions. Unless you target SignDoc SDK 5.0.0.11, your implementation of those functions can just return 0 .
Treat repaired documents as modified
SignDocDocument.verifySignature() and SignDocDocument.verifySignature2() now cause SignDocVerificationResult.getState() to return SignDocVerificationResult.ss_document_modified if the PDF document has to be repaired (modified) at load time.
Rename KeyTool to SignDocKeyTool
KeyTool.exe is renamed to SignDocKeyTool.exe (and, for Unix operating systems, KeyTool is renamed to SignDocKeyTool) to avoid conflicts with other executables named KeyTool.exe (or KeyTool, respectively).