Utilisation des ancres de texte
  • 28 Feb 2025
  • 20 Minutes à lire
  • Sombre
    Lumière
  • PDF

Utilisation des ancres de texte

  • Sombre
    Lumière
  • PDF

Résumé de l’article

SDK Java .NET SDK API REST APEX SDK

SDK Java

Pour télécharger l'exemple complet de code, consultez notre site Partage de code. 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’ancre de texte

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

  • Les ancres de texte sont sensibles à la casse. Ainsi, lorsque vous utilisez une ancre de texte, la recherche est effectuée en tenant compte de la casse.

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

Paramètre

Description

Requis

Valeur par défaut

Texte d’ancre

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

Oui

Non applicable

Point d’ancre

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

Non

SUPÉRIEUR GAUCHE

Index

L’occurrence de la chaîne de caractères. Par exemple, une valeur de 1 permet d’ignorer la première occurrence et d’utiliser la deuxième pour calculer la position.

Non

0

Index des caractères

L’index du caractère dans le texte de l’ancre qui sera utilisé pour calculer la position.

Non

0

Décalage gauche

Le décalage appliqué à la coordonnée x finale.

Non

0

Décalage supérieur

Le décalage appliqué à la coordonnée y finale.

Non

0

Hauteur

La hauteur du champ ou de la signature.

Oui

Non applicable

Largeur

La largeur du champ ou de la signature.

Oui

Non applicable

Meilleures pratiques pour l’utilisation des balises de texte

Si vous rencontrez des problèmes pour placer vos ancres de texte à leur emplacement correct, essayez d’utiliser l’attribut Décalage.

Ajout d'ancres de texte

Dans cet exemple, des 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'objets de base, ou si c'est la première fois que vous créez une transaction, consultez la rubrique Création et envoi d'une 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 votre code exécuté, vos champs de signature apparaîtront dans vos documents, aux emplacements spécifiés par vos ancres de texte.

.NET SDK

Pour télécharger l'exemple complet de code, consultez notre site Partage de code. 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’ancre de texte

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

  • Les ancres de texte sont sensibles à la casse. Ainsi, lorsque vous utilisez une ancre de texte, la recherche est effectuée en tenant compte de la casse.

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

Paramètre

Description

Requis

Valeur par défaut

Texte d’ancre

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

Oui

Non applicable

Point d’ancre

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

Non

SUPÉRIEUR GAUCHE

Index

L’occurrence de la chaîne de caractères. Par exemple, une valeur de 1 permet d’ignorer la première occurrence et d’utiliser la deuxième pour calculer la position.

Non

0

Index des caractères

L’index du caractère dans le texte de l’ancre qui sera utilisé pour calculer la position.

Non

0

Décalage gauche

Le décalage appliqué à la coordonnée x finale.

Non

0

Décalage supérieur

Le décalage appliqué à la coordonnée y finale.

Non

0

Hauteur

La hauteur du champ ou de la signature.

Oui

Non applicable

Largeur

La largeur du champ ou de la signature.

Oui

Non applicable

Meilleures pratiques pour l’utilisation d’ancres de texte

Si vous rencontrez des problèmes pour placer vos ancres de texte à leur emplacement correct, essayez d’utiliser l’attribut Décalage.

Ajout d'ancres de texte

Dans cet exemple, des 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'objets de base, ou si c'est la première fois que vous créez une transaction, consultez la rubrique Création et envoi d'une 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 votre code exécuté, vos champs de signature apparaîtront dans vos documents, aux emplacements spécifiés par vos ancres de texte.

API REST

Pour télécharger l'exemple complet de code, consultez notre site Partage de code. 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.

Ajout d'ancres de texte

Dans cet exemple, des 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'objets de base, ou si c'est la première fois que vous créez une transaction, consultez la rubrique Création et envoi d'une transaction.

Voici le JSON qui permettra de créer votre paquet de documents avec des ancres de texte. Veuillez noter que la convention API de OneSpan Signn'autorise qu'un seul champ de signature (par exemple, type : SIGNATURE) par approbation dans l'objet Approbations. Une deuxième signature pour un rôle donné devrait être ajoutée en tant qu'approbation distincte.

Paramètres d’ancre de texte

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

  • Les ancres de texte sont sensibles à la casse. Ainsi, lorsque vous utilisez une ancre de texte, la recherche est effectuée en tenant compte de la casse.

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

Paramètre

Description

Requis

Valeur par défaut

Texte d’ancre

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

Oui

Non applicable

Point d’ancre

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

Non

SUPÉRIEUR GAUCHE

Index

L’occurrence de la chaîne de caractères. Par exemple, une valeur de 1 permet d’ignorer la première occurrence et d’utiliser la deuxième pour calculer la position.

Oui

Non applicable

Index des caractères

L’index du caractère dans le texte de l’ancre qui sera utilisé pour calculer la position.

Oui

A partir de 0

Décalage gauche

Le décalage appliqué à la coordonnée x finale.

Oui

Reportez-vous à l’axe de décalage

Décalage supérieur

Le décalage appliqué à la coordonnée y finale.

Oui

Reportez-vous à l’axe de décalage

Hauteur

La hauteur du champ ou de la signature.

Oui

Non applicable

Largeur

La largeur du champ ou de la signature.

Oui

Non applicable

Meilleures pratiques pour l’utilisation d’ancres de texte

Si vous rencontrez des problèmes pour placer vos ancres de texte à leur emplacement correct, essayez d’utiliser l’attribut Décalage.

Requête HTTP

 POST /api/packages 

En-têtes HTTP

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

Données utiles 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, voir le tableau des données utiles de la demande ci-dessous.

Données utiles de la réponse

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

Résultats

Une fois votre code exécuté, 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

Requis

Par défaut

Exemples de valeurs

statut

chaîne de caractères

Oui

Non

ÉBAUCHE

ÉBAUCHE / ENVOYÉ / COMPLÉTÉ / ARCHIVÉ / DÉCLINÉ / REFUSÉ / EXPIRÉ

ComplétionAuto

booléen

Oui

Non

vrai

vrai / faux

type

chaîne de caractères

Oui

Non

PACKAGE

PAQUET / MODÈLE / MISE EN PAGE

nom

chaîne de caractères

Oui

Oui

s.o.

Exemple d'extraction d'ancres de texte API REST

langue

chaîne de caractères

Oui

Oui

en

en / fr / de ...

documents

nom

chaîne de caractères

Oui

Non

s.o.

Exemple de contrat

approbations

rôle

chaîne de caractères

Oui

Non

s.o.

client

champs

type

chaîne de caractères

Oui

Oui

s.o.

SIGNATURE / ENTRÉE

extrait

booléen

Oui

Non

faux

vrai / faux

sous-type

chaîne de caractères

Oui

Oui

s.o.

NOM COMPLET / INITIALES / CAPTURE / CAPTURE_MOBILE / ÉTIQUETTE / CHAMP DE TEXTE / ZONE DE TEXTE / CASE / DATE / RADIO / LISTE

liaison

chaîne de caractères

Oui

Non

nul

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

gauche

entier

Oui

Non

0

0 / 10 / 20 ...

haut

entier

Oui

Non

0

0 / 10 / 20 ...

extractAnchor

texte

chaîne de caractères

Oui

Oui

s.o.

Signature du client

PointAncrage

chaîne de caractères

Oui

Oui

s.o.

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

index

entier

Oui

Non

0

0 / 1 / 2 ...

largeur

entier

Oui

Non

200

150

characterIndex

entier

Oui

Non

0

0

hauteur

entier

Oui

Non

50

40

décalageGauche

entier

Oui

Non

0

40

DécalageDroite

entier

Oui

Non

0

-10

rôles

id

chaîne de caractères

Oui

Non

s.o.

client

index

entier

Oui

Non

0

1 / 2 / 3 ...

nom

chaîne de caractères

Oui

Non

s.o.

client

type

chaîne de caractères

Oui

Non

SIGNER

SIGNATAIRE / EXPÉDITEUR

signataires

courriel

chaîne de caractères

Oui

Oui

s.o.

john.smith@exemple.com

Prénom

chaîne de caractères

Oui

Oui

s.o.

John

Nom de famille

chaîne de caractères

Oui

Oui

s.o.

Smith

id

chaîne de caractères

Oui

Non

s.o.

client

APEX SDK

Pour télécharger l'exemple complet de code, consultez notre site Partage de code. 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’ancre de texte

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

  • Les ancres de texte sont sensibles à la casse. Ainsi, lorsque vous utilisez une ancre de texte, la recherche est effectuée en tenant compte de la casse.

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

Paramètre

Description

Requis

Valeur par défaut

Texte d’ancre

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

Oui

Non applicable

Point d’ancre

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

Non

SUPÉRIEUR GAUCHE

Index

L’occurrence de la chaîne de caractères. Par exemple, une valeur de 1 permet d’ignorer la première occurrence et d’utiliser la deuxième pour calculer la position.

Non

0

Index des caractères

L’index du caractère dans le texte de l’ancre qui sera utilisé pour calculer la position.

Non

0

Décalage gauche

Le décalage appliqué à la coordonnée x finale.

Non

0

Décalage supérieur

Le décalage appliqué à la coordonnée y finale.

Non

0

Hauteur

La hauteur du champ ou de la signature.

Oui

Non applicable

Largeur

La largeur du champ ou de la signature.

Oui

Non applicable

Meilleures pratiques pour l’utilisation d’ancres de texte

Si vous rencontrez des problèmes pour placer vos ancres de texte à leur emplacement correct, essayez d’utiliser l’attribut Décalage.

Ajout d'ancres de texte

Dans cet exemple, des 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'objets de base, ou si c'est la première fois que vous créez une transaction, consultez la rubrique Création et envoi d'une transaction.

// Prepare Documents Blob
String document1Name = 'Sample_Text_Anchor';

// Fetch the StaticResource by its name (assumes the file is stored as a static resource in Salesforce)
StaticResource sr = [SELECT Id, Body FROM StaticResource WHERE Name = 'test_text_anchor' LIMIT 1];

// Create a map for the document blob
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;  // Enable document-level extraction

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

// Create Fields for the Client Role
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}'; // Signer's 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}'; // Signing date field
field13.extractAnchor = new ESignLiveAPIObjects.ExtractAnchor(
    ESignLiveAPIObjects.AnchorPoint.TOPRIGHT, 4, 40, 0, 10, 'Date', -30, 75
);

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

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

// Create Fields for the Contractor Role
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}'; // Signer's 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}'; // Signing date field
field23.extractAnchor = new ESignLiveAPIObjects.ExtractAnchor(
    ESignLiveAPIObjects.AnchorPoint.TOPRIGHT, 4, 40, 1, 10, 'Date', -30, 75
);

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

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

// Create the package (pkg) and add the document
pkg.documents = new List<ESignLiveAPIObjects.Document>{document1};

Résultats

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


Cet article vous a-t-il été utile ?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.
ESC

Ozzy, facilitant la découverte de connaissances grâce à l’intelligence conversationnelle