Input-XML - 2.Signature fields Definition and Text on LCD

depends on settings in webSignatureOffice

Signature fields Definition

There are 3 ways to find the Signature Positions inside the document.

You can use static coordinates (<Static/>), the alternative is the intelligent search (<Signature>), where we find the Postions by a Text Search inside the document.

You need to define the text, size and the offset and eSignatureOffice will place a Signature, if the text was found inside the document.

If you already have empty signature fields inside your Document, you can use them (<DigSig/>). There are all 3 ways at Samples.

NameDescription

<Signatures> or <Unterschriften>

Unites the section, that defines signature fields, offered to user, when he enters signing mode.

Fields, defined in XML document are handled the same way as intelligent signature fields contained in SSS files.

<EnableMultiSign> 1 <EnableMultiSign/>Allows the signing of already signed Signature, the Signature overlays the older ones. 

<EnableMultiSign> 0 <EnableMultiSign/>

Default behavior, Jumps over already signed Signatures

(as defined with <signed> or <geleistet> )

<Signature> or <Unterschrift>

Each signature is a separate tag. The number of signature fields are not limited

Nested tags of <Signature> are defined below.

<Static/> or <Statisch/>

Declares a static field, as alternative to intelligent fields declared with <Signature>.

Static field properties must be defined by child tags. Possible child tags are <Page>,<X>,<Y>. The <Page> tag allows you to set also negative values (-1 for last page, -2 the page before the last page; etc...). If the <Page> tag is set to 0, the signature field will be ignored.

<DigSig/>

Declares an empty signature field, which is already inside the PDF document. It's an alternative to static and intelligent fields.

<FieldName>Contains the name of the Signature field, which is already inside the PDF.
<Placeholder> or <Platzhalter>Contains anchor substring, that is used to find signature fields.

<Width> and <Height>

or

<Breite> and <Hoehe>

Defines signature field sizes in centimeters.
<HtmlSignerWidth>Defines the displayed / zoomed signature field width (in cm) for signatures with HTML signer (and with apps)
<DisplacementTLIndex> or <VersatzOLIndex>

Defines the position of the anchor point inside rectangle, surrounding the key string. Possible values:

1 - top left

2 – top center

3 – top right

4 – center left

5 – center

6 – center right

7 – bottom left

8 – bottom center

9 – bottom right


Can be represented visually as 3x3 matrix:

1   2   3

4   5   6

7   8   9

<DisplacementBRIndex> or <VersatzURIndex>

Is a counterpart of <DisplacementTLIndex> for bottom-right corner.

Used in conjunction with fields, which size is declared by two corner marks (not possible in XML by now).

<FeldPositionIndex>

Defines the position of the field relatively to the key string.

Possible values are the same as for <VersatzOLIndex>.

It may be helpful to open eSignatureOffice, start intelligent signature set configuration dialog and try different settings for signature Placement, to get a visual representation of different values handling.

<Offset_X> and <Offset_Y>

Are optinal tags. By specifying non-zero values, it's possible to move the signature field by the given number of centimetres.

Positive values move the field to the right / bottom, negative values to the left / top.

<Mandatory/> or <Pflichtfeld/>

Is an optional field indicating that signature field is mandatory.

Please note: webSignatureOffice expects a value for this tag: <Mandatory>1</Mandatory> means mandatory field, <Mandatory>0</Mandatory> means optional field

<Zoom> 

Is an optional tag, that defines zoom values for the document in eSignatureOffice/webSign/secureSign for a particular signature field.

Text inside the tag can be either an integer value in range 10..300 (denotes percent)

or Fit, that means fit to Screen

or Width, that means fit to page width.

The default zoom value is 100 percent.

<RectPosX> and <RectPosY>

 

Are optional tags, that are defining the position of the signature field (rectangle), inside the visible area of the page in percent:

(0, 0) is upper left corner and (100, 100) is bottom-right corner.

The default value is 50 percent.

<Timeout> 

Timeout in Milliseconds, after which the signature is skipped or automatically sealed, depending on the number of BioData-Frames(Strokes on Signature Pad).

<Timeout>0</Timeout> or

<Timeout/> or

Tag <Timeout> not present for no automatic

<BeforeSignConfirmation> 

Allows to define additional confirmation, that appears before starting a signature.


<Type> Specifies confirmation type. Possible values are Ok, OkCancel and YesNo.

 <Text> Specifies confirmation text, which may be either plain text or HTML document.

<Stamp>

Is an optional tag. Specifies signature stamp (text), that is stored together with signature image on document page.


<Text> Tag should contain stamp text. New line can be entered with \r\n symbols.

<Color> Defines text Color. In hexadecimal format, it represents RGB color intensities for blue, green, and red.

The value 0x00FF0000 represents full-intensity, pure blue, 0x0000FF00 is pure green, and 0x000000FF is pure red. 0x00000000 is black and 0x00FFFFFF is white.

<Font> and <Size> Defines font face and size respectively.

<Signer>, <Reason> and <Location>Tags can be used to specify signer name, reason for signing and signing location respectively.
<Background>

Can be used to define a background image for naturaSign Colour Pad, when additional text is displayed during signature is taken.


If the background is specified, the text is drawn over a provided background image. The content of the tag can be either a path to the file or base-64 representation of bitmap.

Image must have the size of 640x310 pixels for naturaSign Colour Pad,

480x272 for NaturaSignFlawless+NaturaSignComfort, 800x310 for NaturaSignUniversal+DuraSignBrilliance .

You can select a Background image as default for all signatures, or override per signature.

You can define a Background image for different devices with the attribute "device", where the follwing values are possible:

NaturaSign, NaturaSignColour, NaturaSignMobile, NaturaSignFlawless, NaturaSignComfort, NaturaSignClassic, NaturaSignBiometric, NaturaSignMobile15, NaturaSignColorPad2, NaturaSignUniversal,  DuraSignBrilliance, duraSign10.0, duraSignPad4.5

Example:  <Background device="DuraSignBrilliance">c:\eSO-Files\brillilanceabckground.png</Background>

<NoScrollSign/> or <NoScrollSign></NoScrollSign> or <NoScrollSign>1</NoScrollSign>To set no scrolling, while signing inside eSignatureOffice.
<Foreground>

Can be used to define foreground image for naturaSign Colour Pad, when additional text is displayed during signature is taken.


If foreground is specified, the text is drawn over a provided foreground image. The content of the tag can be either a path to the file or a base-64 representation of the bitmap. Image must have the size of 640x310 pixels for naturaSign Colour Pad.

You can select a foreground image as default for all signatures, or override per signature.

You can define a foreground image for different devices with the attribute "device", where the follwing values are possible:

NaturaSign, NaturaSignColour, NaturaSignMobile, NaturaSignFlawless, NaturaSignComfort, NaturaSignClassic, NaturaSignBiometric, NaturaSignMobile15, NaturaSignColorPad2, NaturaSignUniversal,  DuraSignBrilliance, duraSign10.0, duraSignPad4.5

Example:  <Foreground device="DuraSignBrilliance">c:\eSO-Files\brillilanceabckground.png</Foreground>

<ShowDocumentOnLCD_BW> for black/white Pads
<ShowDocumentOnLCD_Colour> for Colour pads


Possible values:

0 or Keep or '' (Empty) or <ShowDocumentOnLCD_Colour/> or Tag(s) not present = use global Settings from Administration/Signaturdevice/Display
1 or Custom = Custom Sign Mode (Text on Display, Background-Picture ..)
2 or Document = Sign in Document
3 or Auto = Automatic selection, Custom if LCD Text(s) are defined else Sign in Document (for Colour Devices only)

<ShowCancelOptionalSignature>1

</ShowCancelOptionalSignature> 

When an optional field is used, an additional "Cancel" Button is switchable. Default is off.

Possible Values: 0=no cancel button, 1=cancel button,

if omitted then cancel button off,

<ShowCancelOptionalSignature/> is the same as omitting or value 0.

<EnableRestartSign>1</EnableRestartSign>
Allows to continue break a signature process and enables the Signing Button to continue with unsigned signatures. This tag needs the <ShowCancelOptionalSignature> to enable the Cancel Button. With out the tag, the sign button will stay disabled and it´s not possible to continue the signing process with the same instance.
<PasswordRequired>true or false, defines if the signer of the signature has to enter the password when opening the document. If a password is assigned to the document by default <PasswordRequired> is set to true. It must be explicitly set to false to prohibit the password prompt. The <DocumentPassword> is defined globally. See Input-XML - 4.Additional Tags <DocumentPassword>
Example with intelligent field
<Signatures>
   <Signature>
	<Placeholder>Unterschrift Depotinhaber 1</Placeholder>
	<Width>4</Width>
    <Height>3</Height>
    <DisplacementTLIndex>7</DisplacementTLIndex>
    <FeldPositionIndex>3</FeldPositionIndex>
    <Offset_X>0</Offset_X>
    <Offset_Y>-3</Offset_Y>
    <Signed>0</Signed>
    ...
   </Signature>
   ...
</Signatures>
Example with static fields
<Signatures>
   <Static>
    <Page>1</Page>
    <X>3.5</X>
    <Y>21.5</Y>
    <Hoehe>3.1</Hoehe>
    <Breite>5</Breite>
    <Signed>0</Signed>
    ...
   </Static>
   ...
</Signatures>
Example with DigSig fields
<Signatures>
   <DigSig>
    <FieldName>Unterschrift1</FieldName>
    <Signed>0</Signed>
    ...
   </DigSig>
   ...
</Signatures>


Filter Option (for intelligent fields)

With the filter option you can define which of the found signatures (<Signature>) should be used for signing. 


NameSyntaxDescription
<FilterSignature>

<FilterCount>Begin:End;</FilterCount>

<FilterCount>Begin:End;Begin2:End2;</FilterCount>


Sample:

<FilterCount>1:1;</FilterCount>     (only first appareance)

<FilterCount>1:3;</FilterCount>     (1, 2 and 3 appareance)

<FilterCount>1:1;5:6;</FilterCount>     (1, 5 and 6 appareance)

<FilterCount>3:-1;</FilterCount>     (3 until last appareance)

<FilterCount>-2:-1;</FilterCount>     (second to last and last appareance)

Filter the signature by the number they are found inside the document. 



<FilterPage>

<FilterPage>BeginPage:EndPage;</FilterPage>


Sample:

<FilterPage>1:1;</FilterPage>     (only first page appareance)

<FilterPage>1:3;</FilterPage>     (1, 2 and 3 page appareance)

<FilterPage>1:1;5:6;</FilterPage>     (1, 5 and 6 page appareance)

<FilterPage>3:-1;</FilterPage>     (3 until last page appareance)

<FilterPage>-2:-1;</FilterPage>     (second to last page and last page appareance)

Filter the signature by the pages, which means you can define on which pages the signature should be offered to the signer.
<FilterKeyword><FilterKeyword>BeginKeyWord:EndKeyWord;</FilterKeyword>


Sample:

<FilterPage>StartSearch:EndSearch;</FilterPage>     (only appareance between StartSearch and EndSearch strings)

 Filter the signature by key words. This means you can define that signature has to be between 2 strings inside the document.
Example with intelligent fields
<Signatures>
   <Signature>
	<Placeholder>Signature</Placeholder>
	<Width>4</Width>
    <Height>3</Height>
    <DisplacementTLIndex>7</DisplacementTLIndex>
    <FeldPositionIndex>3</FeldPositionIndex>
    <Offset_X>0</Offset_X>
    <Offset_Y>-3</Offset_Y>
    <Signed>0</Signed>
    <FilterCount>2:2;</FilterCount>
   </Signature>
   <Signature>
	<Placeholder>Sign here:</Placeholder>
	<Width>4</Width>
    <Height>3</Height>
    <DisplacementTLIndex>7</DisplacementTLIndex>
    <FeldPositionIndex>3</FeldPositionIndex>
    <Offset_X>0</Offset_X>
    <Offset_Y>-3</Offset_Y>
    <Signed>0</Signed>
    <FilterPage>1:1;3:-1;</FilterPage>
   </Signature> 
   ...
</Signatures>

Text on LCD

NameDescription
<Textblock>

This tag and it’s child tags allow to define text to be shown on signature device’s LCD during signing.

These tags may be omitted, if text is not required. There is may be more than one <Textblock> tag for a single signature field. With the attribute "device", you can define different texts for different signature pads.

There are following possible values:

PlusPadV2, NaturaSign, NaturaSignColour, NaturaSignMobile, NaturaSignFlawless, NaturaSignComfort, NaturaSignClassic, NaturaSignBiometric, NaturaSignMobile15, NaturaSignColorPad2, NaturaSignUniversal, DuraSignBrilliance.

<X> and <Y> Defines the text block position.
<FontFace> or <Schriftart>Defines the name of the installed Windows font.
<FontSize> or  <Schriftgrad>Defines the font size.
<FontStyle> or <Schriftschnitt>

May contain bold (alternative: Fett) and Italic (alternative: Kursiv) substrings, to define bold and italic font style respectively.

Examples of tag content: "Standart", "Bold", "Italic", "BoldItalic" or "Fett, Italic". 

<FontColor> or <SchriftFarbe>

Defines the used color in format R,G,B as decimal between 0 and 255 (f.e. <FontColor>255,0,0</FontColor> for full red colour). If omitted, full black is used as default.

<Interval> or <Zeilenabstand>

Defines the vertical interval between two lines. If omitted, the default from the selected font is used.

<TextLine> or <Textzeile>)

Contains a set of <Text> tags. Each <Text> tag contains one text line.

First line is drawn at <X>, <Y> position, second line is drawn with interval defined by <Interval> or <Zeilenabstand> tag, etc.

Example for LCD-Text (device specific)
      <Textblock device="duraSignBrilliance">
        <X>200</X>
        <Y>80</Y>
        <FontFace>Arial</FontFace>
        <FontSize>8</FontSize>
        <FontStyle>Fett</FontStyle>
        <FontColor>0,0,255</FontColor>
        <TextLine>
          <Text>Line 1</Text>
        </TextLine>
        <TextLine>
          <Text>Line 2</Text>
        </TextLine>
      </Textblock>
Example for Backgroundimage+LCDText
<?xml version="1.0"?>
<ESign>
  <Background>C:\...\g6Background.bmp</Background>
  <Signatures>
    <Signature>
      <Placeholder>Unterschrift</Placeholder>
      <Height>2.0</Height>
      <Width>4.0</Width>
      <Offset_X>0</Offset_X>
      <Offset_Y>-1</Offset_Y>
      <signed>0</signed>
      <Background device="naturaSignFlawless">C:\..\g8.bmp</Background>
      <Background device="naturaSignUniversal">C:\..\g12.bmp</Background>
      <Background device="duraSignBrilliance">C:\..\g12.bmp</Background>
      <Textblock>
        <X>5</X>
        <Y>5</Y>
        <FontFace>Arial</FontFace>
        <FontSize>8</FontSize>
        <FontStyle>Fett</FontStyle>
        <TextLine>
          <Text>Max Mustermann, Kunde</Text>
        </TextLine>
      </Textblock>
    <Signature>
 <Signatures>
 ...
</ESign>

 

Signature Groups

NameDescription
<SignatureGroups> 

Defines one or more signature groups. <SignatureGroups> is optional and has to be set on the same tier like <Signatures>.

Before <SignatureGroup> tags, there are the follwoing global settings possible.

<UndefinedGroupName>

If a signature field is present, which has no signature group name defined, the reaction is defined as follows:

-1 = undefined, use default behaviour

0 = sign field always, even when a group is used

1 = never sign

2 = sign, when all signatures used (no group selected)

3 = Ask User, if signature field should used


The empty tag <UndefinedGroupName/> is defaulted to 2 = sign, when all signatures used (no group selected).

If this tag is not present or erroneous, then the default 2 = sign, when all signatures used (no group selected) is used.

<PadSignButton>If the user presses the sign button on the pad, one of the following reactions follows:

-1 = undefined, use default behavior

0 = Start Signing session with all groups (no group defined)

1 = Start Signing session with the last used group (default no group defined)

2 = display a group selection form, including "no group"


The empty Tag <PadSignButton/> defaults to 0=Start Signing session with all groups (no group defined).

If this tag is not present or erroneuos, then the default 0 = Start Signing session with all groups (no group defined) is used.


If <SignatureGroups> tag is set, there has to be at least one <SignatureGroup> tag following.


The <SignatureGroup> tag includes the Elements

<SignatureGroupName> (string), <ShowSignatureTypePopUp> (int; 1 or 0),

<ShowSignatureTypePopUpDetailsType> (complex type) and <SignatureFieldColor> (string).

<ShowSignatureTypePopUp> either shows a PopUp for every defined signature field with various signature type selections (<ShowSignatureTypePopUp>1</ShowSignatureTypePopUp>)

or not (<ShowSignatureTypePopUp>0</ShowSignatureTypePopUp>).


With the tag <ShowSignatureTypePopUpDetailsType> and it's child tags

<SelectionPad>, <SelectionPhoneTablet>, <SelectionDisplay> (all int's with 1 or 0 values)

the SignatureTypePopUp can be defined showing all or just some of the signature type selections.


If tag <ShowSignatureTypePopUpDetailsType> is not set, all signature type selections will be shown.

<SignatureFieldColor>

Sets the color (and transparency, default transparency is 20%, when not defined) of the signature field, the following are possible


  • Given by a regular CSS/HTML color name (see http://www.w3schools.com/colors/colors_hex.asp). Transparency is then 20%.
  • direct hex starting with an Sharp sign # followed by 6 hexadezimal digits in the form RRGGBB where R=red portion of Color 00..FF, G=Green, B=Blue. TRansparency is 20%.
  • direct hex starting with an Sharp sign # followed by 8 hexadezimal digits in the form AARRGGBB where A=Transparency 0..100, R=red portion of Color 00h..FFh, G=Green, B=Blue.
  • rgb(R,G,B) : R,G,B=0..255 decimal, transparency is then 20%
  • rgba(R,G,B,A) : R,G,B=0..255, A=0.0..1.0 (fraction) where f.e. 0.2 = 20% Transparency
Example
<SignatureGroups>
	<UndefinedGroupName>3</UndefinedGroupName>
    <PadSignButton>2</PadSignButton>
	<SignatureGroup>
        <SignatureGroupName>GroupA</SignatureGroupName>
        <ShowSignatureTypePopUp>1</ShowSignatureTypePopUp>
        <ShowSignatureTypePopUpDetailsType>
            <SelectionPad>1</SelectionPad>
            <SelectionPhoneTablet>1</SelectionPhoneTablet>
            <SelectionDisplay>0</SelectionDisplay>
        </ShowSignatureTypePopUpDetailsType>
        <SignatureFieldColor>Green</SignatureFieldColor>
   </SignatureGroup>
</SignatureGroups>

  

 

The defined <SignatureGroupName> tag has to be referenced in a <Signature>-, <DigSig>- or  <Static>-tag.

Example
<DigSig>
      <Mandatory/>
      <Location></Location>
      <PflichtfeldServiceTag/>
      <FieldName>eSigAntragVermittler</FieldName>
      <Reason>Ich stimme dem Inhalt zu.</Reason>
      <Signer>Vermittler</Signer>
      <RectPosY>90</RectPosY>
      <Zoom>Keep</Zoom>
      <SignatureType>2</SignatureType>
      <SignatureGroupName>GroupA</SignatureGroupName>
</DigSig>

<PflichtfeldServiceTag/> Is just an example, that there are other possible tags, which are not observed.


<SignatureType> This optional tag defines the way, how to sign the field.

The available values are:


*0 = stamp data (text/image) without signature
1 = digital stamp (signature with user certificate instead of hand-written signature)
2 = html-signer signature only
3 = pad signature only
4 = app signature only (QR code)
If no signature type is defined, a selection window appears. The signer can choose between following types: StepOver signature pad OR one of our apps OR HTML-signer (with a pen or your finger on your mobile device)


Notice: If <SignatureGroup> with <ShowSignatureTypePopUpDetailsType> is defined, the <SignatureType> value will be ignored!

*<Observer>

This optional tag defines an observer for the document.

The observer has to be a registered webSignatureOffice user and will be declared with the login name.

*<MandatorySkippable>

This optional tag defines, if mandatory signature fields are skippable (value 1) or not (value 0).

If no value is set or tag is not defined, mandatory signature fields are not skippable.

Optional signature fields are always skippable.

*<DueDays><DueWeeks><DueMonths>

Tags are defining the expiration of the document.

With setting a value in one of the three tags, the due date will be the date x days / weeks or months after the time of upload.

The relevant value is always the next expected date. For example <DueDays> is set with the value 9 and <DueWeeks> is set with the value 1, the due date will be 7 days later (one week).

*) These features are only implemented in webSignatureOffice so far.