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.