Extraction de documents

Prev Next

Feature OverviewJava SDK .NET SDK REST API APEX SDK

Présentation des fonctionnalités

L'extraction de documents recherche des signatures et des champs nommés de manière appropriée dans un document PDF téléchargé, et pour chacun d'eux, il crée une signature ou un champ OneSpan Sign. Les positions et les tailles des signatures et des champs du PDF sont automatiquement conservés dans OneSpan Sign.

Les informations nécessaires à la création de chaque signature ou champ OneSpan Sign sont tirées du nom de la signature ou du champ PDF.

Limites de l'extraction de documents

Les limitations suivantes affectent l'extraction de documents :

  • L'extraction de documents n'est disponible que dans l'appel d'API qui télécharge le document. Il n'est pas disponible lors des appels ultérieurs.

  • Les champs suivants ne sont pas pris en charge lors de l'utilisation de l'extraction de documents.

    • Boutons radio

    • Champs de liste

    • Champs de date

    • Champs personnalisés

    • Zone de texte

Conventions de nommage

Pour créer un champ de signature OneSpan Sign, le champ PDF doit avoir le nom du formulaire [Signer.SigStyle#], où :

  • Signer: Par défaut, les valeurs utilisées pour le rôle de la balise/fieldName d'extraction sont Signer1, Signer2, etc. Si vous souhaitez inclure l'expéditeur de la transaction en tant que signataire, utilisez la balise Propriétaire. Si vous spécifiez un ID de rôle personnalisé pour vos destinataires, vous utiliserez cette valeur dans vos balises.

  • SigStyle#: Un style de signature (Capture, Initiales, Nom complet ou Capture mobile) associé à un entier pour l'unicité. Par exemple : Capture1 ou Fullname09.

Si vous souhaitez que le champ de signature soit facultatif, utilisez simplement le format suivant : [Signer.SigStyle#. Facultatif].

Pour créer un champ OneSpan Sign non lié, le champ PDF doit avoir le nom du formulaire [Signer.SigStyle#.FieldStyle#], où :

  • Signer.SigStyle# Identifie la signature associée à ce champ.

  • FieldStyle# est un style de champ (Textfield ou Checkbox) combiné à un entier pour l'unicité. Par exemple : Champ de texte2 ou Case à cocher6.

Pour créer un champ OneSpan Sign relié, le champ PDF doit avoir le nom du formulaire [Signer.SigStyle#.label#.Binding], où :

  • Signer.SigStyle# Identifie la signature associée à ce champ.

  • label# est un identificateur du champ, composé du mot label combiné à un entier pour l'unicité.

  • Binding est un style de terrain. Les valeurs possibles sont Date ou {approval.signed}, Name ou {signer.name}, Title ou {signer.title} et Company ou {signer.company}. Les deux membres de chaque paire signifient le même style de champ.

Toutes les parties d'un nom de champ PDF sont mises en correspondance à l'aide de correspondances insensibles à la casse . Par exemple, un champ nommé [Signer1.Fullname1.label1.Date] est traité de la même manière qu'un champ nommé [Signer1.FULLNAME1.LABEL1.DATE]. Les noms de champ sont alphanumériques. Ils ne peuvent pas contenir de caractères spéciaux autres que le trait de soulignement (_).

Exemple

En voici un exemple. Supposons qu'un package comporte deux signataires dont les ID personnalisés sont Signer1 et Owner. Supposons en outre que l'extraction soit activée et qu'un fichier PDF contenant des champs portant les noms suivants soit téléchargé :

  [Owner.Fullname1]   [Owner.Fullname1.label1.Date]   [Owner.Fullname1.Textfield1]   [Owner.Fullname1.Checkbox1]   [Owner.Fullname2.Optional]  
[Signer1.Capture1][Signer1.Capture1.label1.Name][Signer1.Capture1.label2.Date][Signer1.Capture1.label3.Title][Signer1.Initials1][Signer1.Initials2]

Avant de signer, Owner vous devez remplir deux champs :

[Owner.Fullname1.Textfield1][Owner.Fullname1.Checkbox1]

Une fois ces champs remplis, Owner vous pouvez signer [Owner.Fullname1]et [Owner.Fullname1.label1.Date] serez automatiquement rempli avec la date de signature.

Signer1 doit signer à trois endroits :

[Signer1.Initials1][Signer1.Initials2][Signer1.Capture1]

Une fois que tous ces éléments sont signés, les champs restants seront remplis :

[Signer1.Capture1.label1.Name][Signer1.Capture1.label2.Date][Signer1.Capture1.label3.Title]

Si vous avez spécifié des ID personnalisés pour l'expéditeur et le signataire (par exemple, Agent1 et Client1), utilisez des noms de champ de formulaire similaires à ceux ci-dessous et le flux de signature restera le même :

[Agent1.Fullname1]   [Client1.Initials1]

Autres méthodes d'extraction

Vous pourriez également être intéressé par nos autres types d'extraction :

Java SDK

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

La fonction d'extraction de documents crée automatiquement toutes les signatures et tous les champs qui existent dans un fichier PDF téléchargé. La position et la taille des signatures et des champs dans le fichier PDF sont automatiquement conservées dans OneSpan Sign.

Limites de l'extraction de documents

Les limitations suivantes affectent l'extraction de documents :

  • L'extraction de documents n'est disponible que dans l'appel d'API qui télécharge le document. Il n'est pas disponible lors des appels ultérieurs.

  • Les champs suivants ne sont pas pris en charge lors de l'utilisation de l'extraction de documents.

    • Boutons radio

    • Champs de liste

    • Champs de date

    • Champs personnalisés

    • Zone de texte

Configuration des champs du formulaire PDF

Tout d'abord, vous aurez besoin d'un PDF avec des champs de formulaire, nommés de manière à ce que OneSpan Sign puisse les reconnaître. Pour plus d'informations sur le format approprié des noms de champs de formulaire, consultez la présentation des fonctionnalités. Les noms des champs de formulaire sur les champs sont affichés dans l'image ci-dessous.

Comme vous pouvez le voir, les deux signataires sur le document seront Signer1 et Owner. Il s'agira des identifiants personnalisés utilisés dans la section de code ci-dessous pour permettre à OneSpan Sign de savoir quels champs associer à chaque signataire.

Configuration de l'extraction de documents

L'exemple de code ci-dessous vous montre comment configurer votre transaction pour l'extraction de documents. Dans chaque appel withSigner , vous verrez que les ID personnalisés coïncident avec ceux de l'image du formulaire PDF ci-dessus.

Étant donné que l'expéditeur de la transaction sera ajouté par défaut à la liste des signataires avec le nom de rôle Propriétaire, vous n'avez pas besoin de spécifier explicitement les informations de l'expéditeur dans l'appel withSigner .

Le .withDocument a également un appel à enableExtraction.

Comme cela est fait, vous n'avez pas besoin de définir les emplacements de signature et qui doit signer le document. Ceci est déjà pris en charge avec les ID et les noms de champs de formulaire associés à partir du PDF.

Pour ce faire, le code suivant :

 DocumentPackage superDuperPackage = PackageBuilder.newPackageNamed("Test Document Extraction")
            	.withSigner(SignerBuilder.newSignerWithEmail("signer.email@example.com" )
                    	.withCustomId("Signer1")
                    	.withFirstName("John")
                    	.withLastName("Smith"))
            	.withDocument(DocumentBuilder.newDocumentWithName("testDocumentExtraction")
                    	.fromFile("path_to_pdf")
                    	.enableExtraction())
            	.build();
		
		PackageId packageId = eslClient.createPackageOneStep(superDuperPackage);
		eslClient.sendPackage(packageId);

Résultats

Les champs obligatoires sont mis en surbrillance pour que l'utilisateur puisse les remplir. Le champ Nom sera rempli automatiquement par OneSpan Sign lorsque la signature sera terminée. De même, le propriétaire verra également ses champs désignés mis en évidence à remplir.

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 cette rubrique se trouve ici.

La fonction d'extraction de documents crée automatiquement toutes les signatures et tous les champs qui existent dans un fichier PDF téléchargé. La position et la taille des signatures et des champs dans le fichier PDF sont automatiquement conservées dans OneSpan Sign.

Limites de l'extraction de documents

Les limitations suivantes affectent l'extraction de documents :

  • L'extraction de documents n'est disponible que dans l'appel d'API qui télécharge le document. Il n'est pas disponible lors des appels ultérieurs.

  • Les champs suivants ne sont pas pris en charge lors de l'utilisation de l'extraction de documents.

    • Boutons radio

    • Champs de liste

    • Champs de date

    • Champs personnalisés

    • Zone de texte

Configuration des champs du formulaire PDF

Tout d'abord, vous aurez besoin d'un PDF avec des champs de formulaire, nommés de manière à ce que OneSpan Sign puisse les reconnaître. Pour plus d'informations sur le format approprié des noms de champs de formulaire, reportez-vous à la section feature overview. Les noms des champs de formulaire sur les champs sont affichés dans l'image ci-dessous.

Comme vous pouvez le voir, les deux signataires sur le document seront Signer1 et Owner. Il s'agira des identifiants personnalisés utilisés dans la section de code ci-dessous pour permettre à OneSpan Sign de savoir quels champs associer à chaque signataire.

Configuration de l'extraction de documents

L'exemple de code ci-dessous vous montre comment configurer votre transaction pour l'extraction de documents. Dans chaque appel withSigner , vous verrez que les ID personnalisés coïncident avec ceux de l'image du formulaire PDF ci-dessus. Le .withDocument a également un appel à enableExtraction.

Comme cela est fait, vous n'avez pas besoin de définir les emplacements de signature et qui doit signer le document. Ceci est déjà pris en charge avec les ID et les noms de champs de formulaire associés à partir du PDF.

Pour ce faire, le code suivant :

            DocumentPackage superDuperPackage = PackageBuilder.NewPackageNamed("Test Document Extraction")
                    .WithSigner(SignerBuilder.NewSignerWithEmail("signer.email@example.com")
                            .WithCustomId("Signer1")
                            .WithFirstName("John")
                            .WithLastName("Smith"))
                    .WithDocument(DocumentBuilder.NewDocumentNamed("testDocumentExtraction")
                            .FromFile("C:\\Users\\liangdu1\\Desktop\\work\\documents\\610\\test_document_extraction.pdf")
                            .EnableExtraction())
                    .Build();

            PackageId packageId = eslClient.CreatePackageOneStep(superDuperPackage);
            eslClient.SendPackage(packageId);

Résultats

Les champs obligatoires sont mis en surbrillance pour que l'utilisateur puisse les remplir. Le champ Nom sera rempli automatiquement par OneSpan Sign lorsque la signature sera terminée. De même, le propriétaire verra également ses champs désignés mis en évidence à remplir.

REST API

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

La fonction d'extraction de documents crée automatiquement toutes les signatures et tous les champs qui existent dans un fichier PDF téléchargé. La position et la taille des signatures et des champs dans le fichier PDF sont automatiquement conservées dans OneSpan Sign.

Limites de l'extraction de documents

Les limitations suivantes affectent l'extraction de documents :

  • L'extraction de documents n'est disponible que dans l'appel d'API qui télécharge le document. Il n'est pas disponible lors des appels ultérieurs.

  • Les champs suivants ne sont pas pris en charge lors de l'utilisation de l'extraction de documents.

    • Boutons radio

    • Champs de liste

    • Champs de date

    • Champs personnalisés

    • Zone de texte

Configuration des champs du formulaire PDF

Tout d'abord, vous aurez besoin d'un PDF avec des champs de formulaire, nommés de manière à ce que OneSpan Sign puisse les reconnaître. Pour plus d'informations sur le format approprié des noms de champs de formulaire, reportez-vous à la section feature overview. Les noms des champs de formulaire sur les champs sont affichés dans l'image ci-dessous.

Comme vous pouvez le voir, les deux signataires sur le document seront Signer1 et Owner. Il s'agira des identifiants personnalisés utilisés dans la section de code ci-dessous pour permettre à OneSpan Sign de savoir quels champs associer à chaque signataire. Par défaut, les valeurs utilisées pour le rôle de la balise/nom_champ d'extraction sont Signer1 , Signer2 , etc. Si vous souhaitez inclure l'expéditeur de la transaction en tant que signataire, utilisez la balise Propriétaire.

Configuration de l'extraction de documents

En règle générale, vous construirez votre chaîne JSON de manière dynamique, au lieu d'avoir une chaîne statique géante, comme celle-ci. C'est pour donner une bonne représentation de la structure du JSON dont vous aurez besoin pour créer correctement votre transaction.

Le fichier JSON ci-dessous est formaté pour être lisible. Dans chaque objet roles, vous verrez que les ID personnalisés coïncident avec ceux de l'image du formulaire PDF illustré ci-dessus. L'objet documents a également extract à true.

Comme cela est fait, vous n'avez pas besoin de définir les emplacements de signature et qui doit signer le document. Ceci est déjà pris en charge avec les ID et les noms de champs de formulaire associés à partir du PDF.

Requête HTTP

 POST /api/packages 

En-têtes HTTP

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

Charge utile de la demande

------WebKitFormBoundary1bNO60n7FqP5WO4t
Content-Disposition: form-data; name="file"; filename="testDocumentExtraction.pdf"
Content-Type: application/pdf
%PDF-1.5
%µµµµ
1 0 obj
<>>>
endobj.... 
------WebKitFormBoundary1bNO60n7FqP5WO4t
Content-Disposition: form-data; name="payload"	
{
  "roles": [
    {
      "id": "Signer1",
      "type": "SIGNER",
      "signers": [
        {
          "firstName": "John",
          "lastName": "Smith",
          "email": "signer@example.com",
          "id": "Signer1"
        }
      ],
      "name": "Signer1"
    }
  ],
  "documents": [
    {
      "name": "testDocumentExtraction",
      "extract": true
    }
  ],
  "name": "Test Document Extraction",
  "type": "PACKAGE",
  "autoComplete": true,
  "status": "SENT"
}
------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

Les champs obligatoires sont mis en surbrillance pour que l'utilisateur puisse les remplir. Le champ Nom sera rempli automatiquement par OneSpan Sign lorsque la signature sera terminée. De même, le propriétaire verra également ses champs désignés mis en évidence à remplir.

Tableau des données utiles de la demande

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

Extraction de documents de test

documents

nom

corde

Oui

Non

n/a

testDocumentExtraction

extraire

booléen

Oui

Non

faux

vrai / faux

Rôles

id

corde

Oui

Non

n/a

Préparateur1

nom

corde

Oui

Non

n/a

Expéditeur

type

corde

Oui

Non

SIGNATAIRE

SIGNATAIRE / ÉMETTEUR

Signataires

Messagerie électronique

corde

Oui

Oui

n/a

preparer.email@example.com

prénom

corde

Oui

Oui

n/a

Michel

nomNom de famille

corde

Oui

Oui

n/a

Williams

Téléphone

corde

Oui

Non

n/a

514-555-8888

id

corde

Oui

Non

n/a

Préparateur1

livraison

Messagerie électronique

booléen

Oui

Non

faux

vrai / faux

fournisseur

booléen

Oui

Non

faux

vrai / faux

télécharger

booléen

Oui

Non

faux

vrai / faux

APEX SDK

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

La fonction d'extraction de documents crée automatiquement toutes les signatures et tous les champs qui existent dans un fichier PDF téléchargé. La position et la taille des signatures et des champs dans le fichier PDF sont automatiquement conservées dans OneSpan Sign.

Limites de l'extraction de documents

Les limitations suivantes affectent l'extraction de documents :

  • L'extraction de documents n'est disponible que dans l'appel d'API qui télécharge le document. Il n'est pas disponible lors des appels ultérieurs.

  • Les champs suivants ne sont pas pris en charge lors de l'utilisation de l'extraction de documents.

    • Boutons radio

    • Champs de liste

    • Champs de date

    • Champs personnalisés

    • Zone de texte

Configuration des champs du formulaire PDF

Tout d'abord, vous aurez besoin d'un PDF avec des champs de formulaire, nommés de manière à ce que OneSpan Sign puisse les reconnaître. Pour plus d'informations sur le format approprié des noms de champs de formulaire, reportez-vous à la section feature overview. Les noms des champs de formulaire sur les champs sont affichés dans l'image ci-dessous.

Comme vous pouvez le voir, les deux signataires sur le document seront Signer1 et Owner. Il s'agira des identifiants personnalisés utilisés dans la section de code ci-dessous pour permettre à OneSpan Sign de savoir quels champs associer à chaque signataire.

Configuration de l'extraction de documents

L'exemple de code ci-dessous vous montre comment configurer votre transaction pour l'extraction de documents. Dans chaque objet Role , vous verrez que les attributs name coïncident avec ceux de l'image du formulaire PDF ci-dessus.

Étant donné que l'expéditeur de la transaction sera ajouté par défaut à la liste des signataires avec le nom de rôle Propriétaire, vous n'avez pas besoin de créer explicitement un objet Rôle pour l'expéditeur.

Dans l'objet Document , l'attribut extract est également défini sur true.

Comme cela est fait, vous n'avez pas besoin de définir les emplacements de signature et qui doit signer le document. Ceci est déjà pris en charge avec les ID et les noms de champs de formulaire associés à partir du PDF.

  ESignLiveSDK sdk = new ESignLiveSDK();
         
        //Create package
        ESignLiveAPIObjects.Package_x pkg = new ESignLiveAPIObjects.Package_x();
        pkg.name = 'Test Document Extraction - ' + Datetime.now().format();
        pkg.status = ESignLiveAPIObjects.PackageStatus.DRAFT;
        
        //Create Roles
        String roleId1 = 'Signer1';
        ESignLiveAPIObjects.Role role1 = new ESignLiveAPIObjects.Role();
        role1.signers = sdk.createRolesSigner('sigenr1_firstname', 'signer1_lastname', 'signer1@example.com', 'CEO', 'ABC Bank');
        role1.id = roleId1;
        role1.name = roleId1;
        
        pkg.roles = new List<ESignLiveAPIObjects.Role>{role1};    //add role

        
        //Prepare Documents Blob
        String document1Name = 'Sample_Document_Extraction';
        StaticResource sr = [SELECT Id, Body FROM StaticResource WHERE Name = 'test_document_extraction' 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;
        
        pkg.documents = new List<ESignLiveAPIObjects.Document>{document1};    //add document
        
    	//Send package One Step
        String packageId = sdk.createPackage(pkg,documentBlobMap);
        System.debug('PackageId: ' + packageId);

Résultats

Les champs obligatoires sont mis en surbrillance pour que l'utilisateur puisse les remplir. Le champ Nom sera rempli automatiquement par OneSpan Sign lorsque la signature sera terminée. De même, le propriétaire verra également ses champs désignés mis en évidence à remplir.