Utilisation des ancres de texte

Prev Next

Java SDK  .NET SDK  REST API  APEX SDK

Java SDK

Pour télécharger l'exemple de code complet, consultez notre site Code Share. Le PDF utilisé dans ce guide se trouve .here

Les ancres de texte vous permettent de positionner un champ ou une signature en fonction du texte de votre document.

Paramètres d'ancrage de texte

Le tableau suivant fournit une brève description de tous les paramètres qui peuvent être transmis lors de la création de vos ancres de texte. Notez ce qui suit :

  • Les ancres de texte sont sensibles à la casse et, par conséquent, lors de l'utilisation d'une ancre de texte, la recherche est effectuée en tenant compte de la casse.

  • Si aucun paramètre n'est spécifié, la valeur par défaut ci-dessous sera utilisée.

  • OneSpan utilise des points PDF comme unité de mesure. Par exemple, 1 pouce = 72 pts.

  • Lors de la navigation avec des ancres de texte, (0, 0) se trouve en haut à gauche du document PDF.

Paramètre

Description

Obligatoire

Valeur par défaut

Texte d'ancrage

Chaîne exacte qui sera recherchée dans votre document.

Oui

Sans objet

Point d'ancrage

Coin du caractère spécifié à utiliser comme base pour le calcul de la position. Valeurs disponibles : TOPLEFT, TOPRIGHT, BOTTOMLEFT et BOTTOMRIGHT.

Non

EN HAUT À GAUCHE

Index

L'occurrence de la chaîne. Par exemple, une valeur de 1 sautera la première occurrence et utilisera la deuxième instance pour calculer la position.

Non

0

Index des caractères

L'index du caractère dans le texte d'ancrage qui sera utilisé pour calculer la position.

Non

0

Décalage à gauche

Décalage appliqué à la coordonnée x finale.

Non

0

Décalage supérieur

Décalage appliqué à la coordonnée y finale.

Non

0

Hauteur

La hauteur du champ ou de la signature.

Oui

Sans objet

Largeur

Largeur du champ ou de la signature.

Oui

Sans objet

Bonnes pratiques pour l'utilisation des balises de texte

Si vous rencontrez des problèmes pour placer vos ancres de texte à leur bon emplacement, essayez d'utiliser l'attribut offset.

Ajouter des ancres de texte

Dans cet exemple, les ancres de texte sont utilisées pour ajouter une signature, une date de signature et un nom de signataire pour chaque signataire.

Si vous avez besoin d'une comparaison avec la procédure de création d'objet de base, ou si c'est la première fois qu'une transaction est créée, reportez-vous à la section Creating and Sending a Transaction.

.withDocument(newDocumentWithName("Sample Contract")
    .fromFile("PATH_TO_YOUR_FILE")
    .enableExtraction()
    .withSignature(signatureFor("john.smith@example.com")
        .withPositionAnchor(TextAnchorBuilder.newTextAnchor("Signature of the Client")
            .atPosition(TextAnchorPosition.TOPLEFT)
            .withSize(150, 40)
            .withOffset(0, -50)
            .withCharacter(0)
            .withOccurence(0)
        )
        .withField(FieldBuilder.signerName()
            .withPositionAnchor(TextAnchorBuilder.newTextAnchor("(hereafter referred to as")
                .atPosition(TextAnchorPosition.TOPRIGHT)
                .withSize(150, 20)
                .withOffset(-175, -5)
                .withCharacter(0)
                .withOccurence(0)
            )
        )
        .withField(FieldBuilder.signatureDate()
            .withPositionAnchor(TextAnchorBuilder.newTextAnchor("Date")
                .atPosition(TextAnchorPosition.TOPRIGHT)
                .withSize(75, 40)
                .withCharacter(4)
                .withOffset(10, -30)
                .withOccurence(0)
            )
        )
    )
    .withSignature(signatureFor("bob.murray@example.com")
        .withPositionAnchor(TextAnchorBuilder.newTextAnchor("Signature of the Contractor")
            .atPosition(TextAnchorPosition.TOPLEFT)
            .withSize(150, 40)
            .withOffset(0, -50)
            .withCharacter(0)
            .withOccurence(0)
        )
        .withField(FieldBuilder.signerName()
            .withPositionAnchor(TextAnchorBuilder.newTextAnchor("(hereafter referred to as")
                .atPosition(TextAnchorPosition.TOPLEFT)
                .withSize(150, 20)
                .withOffset(-175, -5)
                .withCharacter(0)
                .withOccurence(1)
            )
        )
        .withField(FieldBuilder.signatureDate()
            .withPositionAnchor(TextAnchorBuilder.newTextAnchor("Date")
                .atPosition(TextAnchorPosition.TOPRIGHT)
                .withSize(75, 40)
                .withOffset(10, -30)
                .withCharacter(4)
                .withOccurence(1)
            )
        )
    )
)

Résultats

Une fois que vous avez exécuté votre code, vos champs de signature apparaîtront dans vos documents, aux emplacements spécifiés par vos ancres de texte.

Kit de développement logiciel (SDK) .NET

Pour télécharger l'exemple de code complet, consultez notre site Code Share. Le PDF utilisé dans ce guide se trouve .here

Les ancres de texte vous permettent de positionner un champ ou une signature en fonction du texte de votre document.

Paramètres d'ancrage de texte

Le tableau suivant fournit une brève description de tous les paramètres qui peuvent être transmis lors de la création de vos ancres de texte. Notez ce qui suit :

  • Les ancres de texte sont sensibles à la casse et, par conséquent, lors de l'utilisation d'une ancre de texte, la recherche est effectuée en tenant compte de la casse.

  • Si aucun paramètre n'est spécifié, la valeur par défaut ci-dessous sera utilisée.

Paramètre

Description

Obligatoire

Valeur par défaut

Texte d'ancrage

Chaîne exacte qui sera recherchée dans votre document.

Oui

Sans objet

Point d'ancrage

Coin du caractère spécifié à utiliser comme base pour le calcul de la position. Valeurs disponibles : TOPLEFT, TOPRIGHT, BOTTOMLEFT et BOTTOMRIGHT.

Non

EN HAUT À GAUCHE

Index

L'occurrence de la chaîne. Par exemple, une valeur de 1 sautera la première occurrence et utilisera la deuxième instance pour calculer la position.

Non

0

Index des caractères

L'index du caractère dans le texte d'ancrage qui sera utilisé pour calculer la position.

Non

0

Décalage à gauche

Décalage appliqué à la coordonnée x finale.

Non

0

Décalage supérieur

Décalage appliqué à la coordonnée y finale.

Non

0

Hauteur

La hauteur du champ ou de la signature.

Oui

Sans objet

Largeur

Largeur du champ ou de la signature.

Oui

Sans objet

Bonnes pratiques d'utilisation des ancres de texte

Si vous rencontrez des problèmes pour placer vos ancres de texte à leur bon emplacement, essayez d'utiliser l'attribut offset.

Ajouter des ancres de texte

Dans cet exemple, les ancres de texte sont utilisées pour ajouter une signature, une date de signature et un nom de signataire pour chaque signataire.

Si vous avez besoin d'une comparaison avec la procédure de création d'objet de base, ou si c'est la première fois qu'une transaction est créée, reportez-vous à la section Creating and Sending a Transaction.

.WithDocument(DocumentBuilder.NewDocumentNamed("Sample Contract")
    .FromStream(fs, DocumentType.PDF)
    .EnableExtraction()
    .WithSignature(SignatureBuilder.SignatureFor("john.smith@example.com")
        .WithPositionAnchor(TextAnchorBuilder.NewTextAnchor("Signature of the Client")
            .AtPosition(TextAnchorPosition.TOPLEFT)
            .WithSize(150, 40)
            .WithOffset(0, -50)
            .WithCharacter(0)
            .WithOccurrence(0)
        )
        .WithField(FieldBuilder.SignerName()
            .WithPositionAnchor(TextAnchorBuilder.NewTextAnchor("(hereafter referred to as")
                .AtPosition(TextAnchorPosition.TOPRIGHT)
                .WithSize(150, 20)
                .WithOffset(-175, -5)
                .WithCharacter(0)
                .WithOccurrence(0)
            )
        )
        .WithField(FieldBuilder.SignatureDate()
            .WithPositionAnchor(TextAnchorBuilder.NewTextAnchor("Date")
                .AtPosition(TextAnchorPosition.TOPRIGHT)
                .WithSize(75, 40)
                .WithCharacter(4)
                .WithOffset(10, -30)
                .WithOccurrence(0)
            )
        )
    )
    .WithSignature(SignatureBuilder.SignatureFor("bob.murray@example.com")
        .WithPositionAnchor(TextAnchorBuilder.NewTextAnchor("Signature of the Contractor")
            .AtPosition(TextAnchorPosition.TOPLEFT)
            .WithSize(150, 40)
            .WithOffset(0, -50)
            .WithCharacter(0)
            .WithOccurrence(0)
        )
        .WithField(FieldBuilder.SignerName()
            .WithPositionAnchor(TextAnchorBuilder.NewTextAnchor("(hereafter referred to as")
                .AtPosition(TextAnchorPosition.TOPLEFT)
                .WithSize(150, 20)
                .WithOffset(-175, -5)
                .WithCharacter(0)
                .WithOccurrence(1)
            )
        )
        .WithField(FieldBuilder.SignatureDate()
            .WithPositionAnchor(TextAnchorBuilder.NewTextAnchor("Date")
                .AtPosition(TextAnchorPosition.TOPRIGHT)
                .WithSize(75, 40)
                .WithOffset(10, -30)
                .WithCharacter(4)
                .WithOccurrence(1)
            )
        )
    )
)

Résultats

Une fois que vous avez exécuté votre code, vos champs de signature apparaîtront dans vos documents, aux emplacements spécifiés par vos ancres de texte.

REST API

Pour télécharger l'exemple de code complet, consultez notre site Code Share. Le PDF utilisé dans ce guide se trouve .here

Les ancres de texte vous permettent de positionner un champ ou une signature en fonction du texte de votre document.

Ajouter des ancres de texte

Dans cet exemple, les ancres de texte sont utilisées pour ajouter une signature, une date de signature et un nom de signataire pour chaque signataire.

Si vous avez besoin d'une comparaison avec la procédure de création d'objet de base, ou si c'est la première fois qu'une transaction est créée, reportez-vous à la section Creating and Sending a Transaction.

Vous trouverez ci-dessous le JSON qui créera votre package de documents avec des ancres de texte. Veuillez noter que la convention API de OneSpan Sign n'autorise qu'un seul champ de signature (par exemple, tapez : SIGNATURE) par approbation dans l'objet approvals. Une deuxième signature pour un rôle donné doit être ajoutée en tant qu'approbation distincte.

Paramètres d'ancrage de texte

Le tableau suivant fournit une brève description de tous les paramètres qui peuvent être transmis lors de la création de vos ancres de texte. Notez ce qui suit :

  • Les ancres de texte sont sensibles à la casse et, par conséquent, lors de l'utilisation d'une ancre de texte, la recherche est effectuée en tenant compte de la casse.

  • Si aucun paramètre n'est spécifié, la valeur par défaut ci-dessous sera utilisée.

Paramètre

Description

Obligatoire

Valeur par défaut

Texte d'ancrage

Chaîne exacte qui sera recherchée dans votre document.

Oui

Sans objet

Point d'ancrage

Coin du caractère spécifié à utiliser comme base pour le calcul de la position. Valeurs disponibles : TOPLEFT, TOPRIGHT, BOTTOMLEFT et BOTTOMRIGHT.

Non

EN HAUT À GAUCHE

Index

L'occurrence de la chaîne. Par exemple, une valeur de 1 sautera la première occurrence et utilisera la deuxième instance pour calculer la position.

Oui

Sans objet

Index des caractères

L'index du caractère dans le texte d'ancrage qui sera utilisé pour calculer la position.

Oui

À partir de 0

Décalage à gauche

Décalage appliqué à la coordonnée x finale.

Oui

Reportez-vous à l'axe du décalage

Décalage supérieur

Décalage appliqué à la coordonnée y finale.

Oui

Reportez-vous à l'axe du décalage

Hauteur

La hauteur du champ ou de la signature.

Oui

Sans objet

Largeur

Largeur du champ ou de la signature.

Oui

Sans objet

Bonnes pratiques d'utilisation des ancres de texte

Si vous rencontrez des problèmes pour placer vos ancres de texte à leur bon emplacement, essayez d'utiliser l'attribut offset.

Requête HTTP

 POST /api/packages 

En-têtes HTTP

Accept: application/json
Content-Type: multipart/form-dataAuthorization: 
Basic api_key 

Charge utile de la demande

------WebKitFormBoundary1bNO60n7FqP5WO4t
Content-Disposition: form-data; name="file"; filename="Sample Contract.pdf"
Content-Type: application/pdf

%PDF-1.5
%µµµµ
1 0 obj
<<...>>
endobj....
------WebKitFormBoundary1bNO60n7FqP5WO4t
{
  "roles": [
    {
      "id": "client",
      "type": "SIGNER",
      "index": 1,
      "signers": [
        {
          "firstName": "John",
          "lastName": "Smith",
          "email": "john.smith@example.com"
        }
      ],
      "name": "client"
    },
    {
      "id": "contractor",
      "type": "SIGNER",
      "index": 2,
      "signers": [
        {
          "firstName": "Bob",
          "lastName": "Murray",
          "email": "bob.murray@example.com"
        }
      ],
      "name": "contractor"
    }
  ],
  "documents": [
    {
      "approvals": [
        {
          "fields": [
            {
              "type": "SIGNATURE",
              "extract": false,
              "extractAnchor": {
                "text": "Signature of the Client",
                "index": 0,
                "width": 150,
                "height": 40,
                "anchorPoint": "TOPLEFT",
                "characterIndex": 0,
                "leftOffset": 0,
                "topOffset": -50
              },
              "left": 0,
              "subtype": "FULLNAME",
              "top": 0
            },
            {
              "type": "INPUT",
              "binding": "{signer.name}",
              "extract": false,
              "extractAnchor": {
                "text": "(hereafter referred to as",
                "index": 0,
                "width": 150,
                "height": 20,
                "anchorPoint": "TOPRIGHT",
                "characterIndex": 0,
                "leftOffset": -175,
                "topOffset": -5
              },
              "left": 0,
              "subtype": "LABEL",
              "top": 0
            },
            {
              "type": "INPUT",
              "binding": "{approval.signed}",
              "extract": false,
              "extractAnchor": {
                "text": "Date",
                "index": 0,
                "width": 75,
                "height": 40,
                "anchorPoint": "TOPRIGHT",
                "characterIndex": 4,
                "leftOffset": 10,
                "topOffset": -30
              },
              "left": 0,
              "subtype": "LABEL",
              "top": 0
            }
          ],
          "role": "client"
        },
        {
          "fields": [
            {
              "type": "SIGNATURE",
              "extract": false,
              "extractAnchor": {
                "text": "Signature of the Contractor",
                "index": 0,
                "width": 150,
                "height": 40,
                "anchorPoint": "TOPLEFT",
                "characterIndex": 0,
                "leftOffset": 0,
                "topOffset": -50
              },
              "left": 0,
              "subtype": "FULLNAME",
              "top": 0
            },
            {
              "type": "INPUT",
              "binding": "{signer.name}",
              "extract": false,
              "extractAnchor": {
                "text": "(hereafter referred to as",
                "index": 1,
                "width": 150,
                "height": 20,
                "anchorPoint": "TOPRIGHT",
                "characterIndex": 0,
                "leftOffset": -175,
                "topOffset": -5
              },
              "left": 0,
              "subtype": "LABEL",
              "top": 0
            },
            {
              "type": "INPUT",
              "binding": "{approval.signed}",
              "extract": false,
              "extractAnchor": {
                "text": "Date",
                "index": 1,
                "width": 75,
                "height": 40,
                "anchorPoint": "TOPRIGHT",
                "characterIndex": 4,
                "leftOffset": 10,
                "topOffset": -30
              },
              "left": 0,
              "subtype": "LABEL",
              "top": 0
            }
          ],
          "role": "contractor"
        }
      ],
      "name": "Sample Contract"
    }
  ],
  "name": "Text Anchor Extraction Example REST API",
  "type": "PACKAGE",
  "language": "en",
  "autoComplete": true,
  "status": "DRAFT"
}
------WebKitFormBoundary1bNO60n7FqP5WO4t--

Pour une description complète de chaque champ, consultez le tableau Charge utile de la demande ci-dessous.

Charge utile de réponse

{
  "id": "9sKhW-h-qS9m6Ho3zRv3n2a-rkI="
}

Résultats

Une fois que vous avez exécuté votre code, vos champs de signature apparaîtront dans vos documents, aux emplacements spécifiés par vos ancres de texte.

Tableau des données utiles de la demande

Propriété

Type

Modifiable

Obligatoire

Faire défaut

Exemples de valeurs

Propriété

Type

Modifiable

Obligatoire

Faire défaut

Exemples de valeurs

statut

corde

Oui

Non

BROUILLON

BROUILLON / ENVOYÉ / TERMINÉ / ARCHIVÉ / REFUSÉ / OPTED_OUT / EXPIRÉ

Saisie semi-automatique

booléen

Oui

Non

vrai

vrai / faux

type

corde

Oui

Non

COLIS

EMBALLAGE / MODÈLE / MISE EN PAGE

nom

corde

Oui

Oui

n/a

Exemple d'extraction d'ancrage de texte API REST

Langue

corde

Oui

Oui

en

en / fr / de ...

documents

nom

corde

Oui

Non

n/a

Exemple de contrat

Approbations

rôle

corde

Oui

Non

n/a

client

champs

type

corde

Oui

Oui

n/a

SIGNATURE / SAISIE

extraire

booléen

Oui

Non

faux

vrai / faux

Sous-type

corde

Oui

Oui

n/a

NOM COMPLET / INITIALES / CAPTURE / MOBILE_CAPTURE / ÉTIQUETTE / CHAMP DE TEXTE / ZONE DE TEXTE / CASE À COCHER / DATE / RADIO / LISTE

reliure

corde

Oui

Non

zéro

null / {approval.signed} / {signer.title} / {signer.name} / {signer.company}

Gauche

entier

Oui

Non

0

0 / 10 / 20 ...

Retour au début

entier

Oui

Non

0

0 / 10 / 20 ...

extractAnchor

SMS

corde

Oui

Oui

n/a

Signature du client

point d'ancrage

corde

Oui

Oui

n/a

HAUT-GAUCHE / HAUT-DROIT / BAS-GAUCHE / BAS-DROIT

index

entier

Oui

Non

0

0 / 1 / 2 ...

Largeur

entier

Oui

Non

200

150

caractèreIndex

entier

Oui

Non

0

0

hauteur

entier

Oui

Non

50

40

leftOffset

entier

Oui

Non

0

40

droiteDécalage

entier

Oui

Non

0

-10

Rôles

id

corde

Oui

Non

n/a

client

index

entier

Oui

Non

0

1 / 2 / 3 ...

nom

corde

Oui

Non

n/a

client

type

corde

Oui

Non

SIGNATAIRE

SIGNATAIRE / ÉMETTEUR

Signataires

Messagerie électronique

corde

Oui

Oui

n/a

john.smith@example.com

prénom

corde

Oui

Oui

n/a

John

nomNom de famille

corde

Oui

Oui

n/a

Forgeron

id

corde

Oui

Non

n/a

client

APEX SDK

Pour télécharger l'exemple de code complet, consultez notre site Code Share . Le PDF utilisé dans ce guide se trouve ici.

Les ancres de texte vous permettent de positionner un champ ou une signature en fonction du texte de votre document.

Paramètres d'ancrage de texte

Le tableau suivant fournit une brève description de tous les paramètres qui peuvent être transmis lors de la création de vos ancres de texte. Notez ce qui suit :

  • Les ancres de texte sont sensibles à la casse et, par conséquent, lors de l'utilisation d'une ancre de texte, la recherche est effectuée en tenant compte de la casse.

  • Si aucun paramètre n'est spécifié, la valeur par défaut ci-dessous sera utilisée.

Paramètre

Description

Obligatoire

Valeur par défaut

Texte d'ancrage

Chaîne exacte qui sera recherchée dans votre document.

Oui

Sans objet

Point d'ancrage

Coin du caractère spécifié à utiliser comme base pour le calcul de la position. Valeurs disponibles : TOPLEFT, TOPRIGHT, BOTTOMLEFT et BOTTOMRIGHT.

Non

EN HAUT À GAUCHE

Index

L'occurrence de la chaîne. Par exemple, une valeur de 1 sautera la première occurrence et utilisera la deuxième instance pour calculer la position.

Non

0

Index des caractères

L'index du caractère dans le texte d'ancrage qui sera utilisé pour calculer la position.

Non

0

Décalage à gauche

Décalage appliqué à la coordonnée x finale.

Non

0

Décalage supérieur

Décalage appliqué à la coordonnée y finale.

Non

0

Hauteur

La hauteur du champ ou de la signature.

Oui

Sans objet

Largeur

Largeur du champ ou de la signature.

Oui

Sans objet

Bonnes pratiques d'utilisation des ancres de texte

Si vous rencontrez des problèmes pour placer vos ancres de texte à leur bon emplacement, essayez d'utiliser l'attribut offset.

Ajouter des ancres de texte

Dans cet exemple, les ancres de texte sont utilisées pour ajouter une signature, une date de signature et un nom de signataire pour chaque signataire.

Si vous avez besoin d'une comparaison avec la procédure de création d'objet de base, ou si c'est la première fois qu'une transaction est créée, reportez-vous à la section Creating and Sending a Transaction.

// Prepare Documents Blob
String document1Name = 'Sample_Text_Anchor';
StaticResource sr = [SELECT Id, Body FROM StaticResource WHERE Name = 'test_text_anchor' LIMIT 1];
Map<String, Blob> documentBlobMap = new Map<String, Blob>();
documentBlobMap.put(document1Name, sr.Body);

// Create Document Metadata
ESignLiveAPIObjects.Document document1 = new ESignLiveAPIObjects.Document();
document1.name = document1Name;
document1.id = document1Name;
document1.extract = true; // document level extraction: true

// Approval for role1
ESignLiveAPIObjects.Approval approval1 = new ESignLiveAPIObjects.Approval();
approval1.role = roleId1;
approval1.id = 'approval1';

ESignLiveAPIObjects.Field field11 = new ESignLiveAPIObjects.Field();
field11.id = 'signature1';
field11.type = 'SIGNATURE';
field11.subtype = 'FULLNAME';
field11.extractAnchor = new ESignLiveAPIObjects.ExtractAnchor(
    ESignLiveAPIObjects.AnchorPoint.TOPLEFT, 0, 40, 0, 0, 'Signature of the Client', -50, 150
);

ESignLiveAPIObjects.Field field12 = new ESignLiveAPIObjects.Field();
field12.id = 'signername1';
field12.type = 'INPUT';
field12.subtype = 'LABEL';
field12.binding = '{signer.name}'; // indicate it's a signer name label
field12.extractAnchor = new ESignLiveAPIObjects.ExtractAnchor(
    ESignLiveAPIObjects.AnchorPoint.TOPRIGHT, 0, 20, 0, -175, '(hereafter referred to as', -5, 150
);

ESignLiveAPIObjects.Field field13 = new ESignLiveAPIObjects.Field();
field13.id = 'signerdate1';
field13.type = 'INPUT';
field13.subtype = 'LABEL';
field13.binding = '{approval.signed}'; // indicate it's a signing date
field13.extractAnchor = new ESignLiveAPIObjects.ExtractAnchor(
    ESignLiveAPIObjects.AnchorPoint.TOPRIGHT, 4, 40, 0, 10, 'Date', -30, 75
);

approval1.fields = new List<ESignLiveAPIObjects.Field>{field11, field12, field13};

// Approval for role2
ESignLiveAPIObjects.Approval approval2 = new ESignLiveAPIObjects.Approval();
approval2.role = roleId2;
approval2.id = 'approval2';

ESignLiveAPIObjects.Field field21 = new ESignLiveAPIObjects.Field();
field21.id = 'signature2';
field21.type = 'SIGNATURE';
field21.subtype = 'FULLNAME';
field21.extractAnchor = new ESignLiveAPIObjects.ExtractAnchor(
    ESignLiveAPIObjects.AnchorPoint.TOPLEFT, 0, 40, 0, 0, 'Signature of the Contractor', -50, 150
);

ESignLiveAPIObjects.Field field22 = new ESignLiveAPIObjects.Field();
field22.id = 'signername2';
field22.type = 'INPUT';
field22.subtype = 'LABEL';
field22.binding = '{signer.name}'; // indicate it's a signer name label
field22.extractAnchor = new ESignLiveAPIObjects.ExtractAnchor(
    ESignLiveAPIObjects.AnchorPoint.TOPRIGHT, 0, 20, 1, -175, '(hereafter referred to as', -5, 150
);

ESignLiveAPIObjects.Field field23 = new ESignLiveAPIObjects.Field();
field23.id = 'signerdate2';
field23.type = 'INPUT';
field23.subtype = 'LABEL';
field23.binding = '{approval.signed}'; // indicate it's a signing date
field23.extractAnchor = new ESignLiveAPIObjects.ExtractAnchor(
    ESignLiveAPIObjects.AnchorPoint.TOPRIGHT, 4, 40, 1, 10, 'Date', -30, 75
);

approval2.fields = new List<ESignLiveAPIObjects.Field>{field21, field22, field23};

// Assign approvals to document
document1.approvals = new List<ESignLiveAPIObjects.Approval>{approval1, approval2};

// Add document to package
pkg.documents = new List<ESignLiveAPIObjects.Document>{document1}; // add document

Résultats

Une fois que vous avez exécuté votre code, vos champs de signature apparaîtront dans vos documents, aux emplacements spécifiés par vos ancres de texte.