- Getting Started
- The Main Class
- Create a Signature Field
- Signature Appearance Modules
- Signature Modules
- Timestamp Modules
- Asynchronous Signature Workflow
- Sign Several Times
- Signing PDF Forms
- Long-Term Validation (LTV)
- Trust Settings
- LTV (pre-release)
- API Reference
Asynchronous Signature Workflow
Table of Contents
As of version 2.2 the SetaPDF-Signer component introduced a asynchronous signature workflow. This allows more flexibility in view to individual signature modules for e.g. batch processing.
The asynchronous workflow makes use of a new class instance which represents a temporary version of the document that should be signed: The
This instance is bound to a document instance of the original PDF document and is created automatically by specific methods of the signer instance. The asynchronous workflow is done by passing this instance and the signature module (if it implements the
SetaPDF_Signer_Signature_DictionaryInterface interface) to several public methods of the signer instance.
To start an asynchronous workflow the required temporary document instance has to be created by one of the following methods.
Prepares a temporary document instance to be used further in an asynchronous signature workflow.
Prepares a temporary document instance to be used further in an asynchronous timestamp workflow.
To create a signature or timestamp siignature the next methods are:
Creates a signature based on a temporary document instance and a signature module.
Creates a timestamp signature based on a temporary document instance.
If you need to add a digital timestamp to the document signature the signature container can be updated by the following method:
Forwards the signature to a timestamp module and merges the result into the signature container.
To finally save the signature or document level timestamp signature the
saveSignature() method has to be used:
Add a signature result to the temporary document instance and saves it to the main documents writer instance.
This example shows you the asynchronous workflow in a single script: