Topics
All
MacOS
(Only)
Windows
(Only)
Linux
(Only, Not)
iOS
(Only, Not)
Components
Crossplatform Mac & Win
Server
Client
Old
Deprecated
Guides
Examples
Videos
New in version:
12.2
12.3
12.4
12.5
13.0
13.1
13.2
13.3
13.4
13.5
Statistic
FMM
Blog
Saves and signs the current PDF.
Component | Version | macOS | Windows | Linux | Server | iOS SDK |
DynaPDF | 13.1 | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes | ✅ Yes |
Parameter | Description | Example | Flags |
---|---|---|---|
The PDF reference returned from DynaPDF.New. | |||
ContactInfo | The contact info. | Optional | |
Location | Signers location string | $location | Optional |
Reason | Reason string. | $reason | Optional |
Signer | Signers name string | $signer | Optional |
SignatureSize | The byte size for the signature expected. This is an estimate on how much space to reserve in the PDF. Default is 2048 bytes, enough for a 1024 bit signature. You may sign a dummy text to check how big the signature is before signing the PDF. |
Optional | |
useDetached | Pass 1 to return data to sign instead of SHA1 hash of data to sign. Be aware that the data to sign with detached mode can be several megabytes big depending on the PDF size. |
0 | Optional |
Returns hex text or error.
Start signing process:
Set Variable [ $hash ; Value: MBS("DynaPDF.SaveAndSignFileExt1"; $pdf; "Test User"; "Chicago"; "") ]
Manually sign PDF content:
# manually load certificate and key
Set Variable [ $pkcs12 ; Value: MBS( "PKCS12.ReadFromFile"; "/Users/cs/Desktop/test_cert.pfx"; "123456") ]
# sign a test string to know size in advance
Set Variable [ $SampleSignature ; Value: MBS( "PKCS12.SignData"; $pkcs12; "hex"; "C9097E23869BC9903CE89E9562230C6FDCBC0F06"; ""; "hex"; "" ) ]
Set Variable [ $estimatedSignatureSize ; Value: Length($SampleSignature) / 2 + 5 ]
# now save and produce hash
Set Variable [ $hashToSign ; Value: MBS("DynaPDF.SaveAndSignFileExt1"; $pdf; "My ContactInfo"; "My Location"; "My Reason"; "My Signer"; $estimatedSignatureSize) ]
# sign the hash
Set Variable [ $Signature ; Value: MBS( "PKCS12.SignData"; $pkcs12; "hex"; $HashToSign; ""; "hex"; "" ) ]
# and finish the PDF
Set Field [ Merge PDFs::MergeStatus ; MBS("DynaPDF.SaveAndSignFileExt2"; $pdf; $signature; "Merged.pdf") ]
This function checks for a license.
Created 18th January 2023, last changed 25th July 2023