DynaPDF Manual - Page 302

Previous Page 301   Index   Next Page 303

Function Reference
Page 302 of 839
SI32 pdfCreateSigField(
const PPDF* IPDF, // Instance pointer
const char* Name, // Name of the signature field (required)
SI32 Parent,
// Parent group field if any or -1
double PosX,
// X-Coordinate of the field
double PosY,
// Y-Coordinate of the field
double Width,
// Width of the field box
double Height)
// Height of the field
This function creates an empty signature field which can be used to digitally sign the PDF file. If the
coordinate system is bottom-up the point PosX, PosY defines the lower left corner of the signature
field. If the coordinate system is top-down it defines the upper left corner.
Like all form fields, the width and height is measured incl. the line width of the border. The size of
normal vector graphics is measured without the line width; this must be taken into account when
calculating the width or height of a form field. The line width of the border is derived from the
current graphics state (see SetLineWidth()), it should be either 0, 1, 2, or 3 units (no border, thin,
medium, or thick). The border style can be changed with the functions SetBorderStyle() or
If the PDF file should be digitally signed by DynaPDF call the function CloseAndSignFile() or
CloseAndSignFileEx() after all pages has been created. The first signature field is used for signing if
multiple signature fields exist. In this case it is also possible to create a user defined appearance for
the signature field. See CreateSigFieldAP() for further information.
A signature field can be visible or invisible depending on your requirements. To create a hidden
signature field set the flag ffHidden to the field (see also SetFieldFlags()).
How to lock an Interactive Form after signing?
If an Interactive Form should be filled in and signed within the full version of Adobe's Acrobat 4 or
higher then it is possible to create an empty signature field which executes a special JavaScript
Action to lock the form after it has been signed. This can be done with a JavaScript Action which
contains the JavaScript function AFSignature_Format(). This function can be called within the
OnFormat event of the signature field. Note that this is the one and only event that signature fields
The function supports two parameters, the first parameter defines whether all or only specific fields
should be locked, the second parameter contains either an empty array or an array of full qualified
field names delimited by a comma:
AFSignature_Format("ALL", new Array ("")");
AFSignature_Format("THESE", new Array ("Field1, Field2")");
AFSignature_Format("EXCEPT", new Array ("Field1, Field2")");

Previous topic: CreateSetOCGStateAction

Next topic: CreateSigFieldAP