L'extraction de documents recherche des signatures et des champs nommés appropriés 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 tailles des signatures et des champs du PDF sont automatiquement conservées dans OneSpan Sign.
Les informations nécessaires pour créer chaque signature ou champ OneSpan Sign sont tirées du nom de la signature ou champ PDF.
Limitations de l'extraction de documents
Les limitations suivantes affectent l'extraction de documents :
L'extraction de documents n'est disponible que dans l'appel 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 dates
Champs personnalisés
Zone de texte
Conventions de dénomination
Pour créer un champ de signature OneSpan, le champ PDF doit porter le nom du formulaire [Signer.SigStyle#], où :
SignerPar défaut, les valeurs utilisées pour le rôle de l'étiquette/champ d'extraction sont Signer1, Signer2, etc. Si vous souhaitez inclure l'expéditeur de la transaction comme signataire, utilisez le tag Propriétaire. Si vous spécifiez un identifiant de rôle personnalisé pour vos destinataires, vous utiliserez cette valeur dans vos tags.SigStyle#: Un style de signature (Capture, Initiales, Nom complet ou Capture mobile) combiné à un entier pour l'unicité. Par exemple : Capture1 ou Fullname09.
Si vous souhaitez que le champ signature soit optionnel, utilisez simplement le format suivant : [Signer.SigStyle#. Optionnel].
Pour créer un champ OneSpan Sign non lié, le champ PDF doit porter le nom du formulaire [Signer.SigStyle#.FieldStyle#], où :
Signer.SigStyle#identifie la signature associée à ce champ.FieldStyle#est un style de champ (champ de texte ou case à cocher) combiné avec un entier pour l'unicité. Par exemple : Textfield2 ou Checkbox6.
Pour créer un champ OneSpan Sign lié, le champ PDF doit porter le nom du formulaire [Signer.SigStyle#.label#.Binding], où :
Signer.SigStyle#identifie la signature associée à ce champ.label#est un identifiant du champ, constitué de l' étiquette du mot combinée à un entier pour l'unicité.Bindingest un style de terrain. Les valeurs possibles sont Date ou {approval.signed}, Nom ou {signer.name}, Titre ou {signer.title}, et Société ou {signer.company}. Les deux membres de chaque paire symbolisent le même style de champ.
Toutes les parties d'un nom de champ PDF sont associées à 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 des champs sont alphanumériques. Ils ne peuvent pas contenir de caractères spéciaux autres que le sous-trait (_).
Exemple
Voici un exemple. Supposons qu'un package ait deux signataires dont les identifiants personnalisés sont Signer1 et Owner. Supposons en outre que l'extraction soit activée, et qu'un PDF soit téléchargé comportant des champs portant les noms suivants :
[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 il faut remplir deux champs :
[Owner.Fullname1.Textfield1][Owner.Fullname1.Checkbox1]Une fois ces champs remplis, Owner peut signer [Owner.Fullname1], et [Owner.Fullname1.label1.Date] sera automatiquement rempli avec la date de signature.
Signer1 Il faut signer à trois endroits :
[Signer1.Initials1][Signer1.Initials2][Signer1.Capture1]Une fois tous ces champs 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 identifiants personnalisés pour l'expéditeur et le signataire (par exemple, Agent1 et Client1), utilisez des noms de champs 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 complet de code, consultez notre site de partage de code . Cliquez sur l'icône disque ci-dessous pour télécharger le PDF utilisé dans ce sujet.
La fonction d'extraction de documents crée automatiquement toutes les signatures et champs existant dans un fichier PDF téléchargé. Les positions et tailles des signatures et des champs dans le fichier PDF sont automatiquement conservées dans OneSpan Sign.
Limitations de l'extraction de documents
Les limitations suivantes affectent l'extraction de documents :
L'extraction de documents n'est disponible que dans l'appel 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 dates
Champs personnalisés
Zone de texte
Configuration des champs de 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 du formulaire, voir l' aperçu des fonctionnalités. Les noms des champs de formulaires sur les champs sont affichés dans l'image ci-dessous.

Comme vous pouvez le voir, les deux signataires sur le document seront Signataire1 et Propriétaire. Ce seront les identifiants personnalisés utilisés dans la section code ci-dessous pour indiquer à OneSpan Sign quels champs associer à chaque signataire.
Configuration de l'extraction de documents
Le code d'exemple ci-dessous vous montre comment configurer votre transaction pour l'extraction de documents. À chaque appel withSigner , vous verrez que les identifiants personnalisés coïncident avec ceux de l'image du formulaire PDF montré ci-dessus.
Parce que l'expéditeur de la transaction sera par défaut ajouté à la liste des signataires avec le nom de rôle Propriétaire, vous n'êtes pas obligé de spécifier explicitement les informations de l'expéditeur dans l'appel withSigner .
Le .withDocument propose également un appel à enableExtraction.
Parce que cela est fait, vous n'êtes pas obligé de définir les lieux de signature ni qui doit signer le document. Cela est déjà pris en charge avec les identifiants et les noms de champs de formulaire associés du PDF.
Le code suivant le fera ainsi :
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 évidence pour que l'utilisateur les remplisse. Le champ Nom sera rempli automatiquement par OneSpan Sign une fois la signature terminée. De même, le propriétaire verra également ses champs désignés surlignés à remplir.
.NET SDK
Pour télécharger l'exemple complet de code, consultez notre site de partage de code . Cliquez sur l'icône disque ci-dessous pour télécharger le PDF utilisé dans ce sujet.
La fonction d'extraction de documents crée automatiquement toutes les signatures et champs existant dans un fichier PDF téléchargé. Les positions et tailles des signatures et des champs dans le fichier PDF sont automatiquement conservées dans OneSpan Sign.
Limitations de l'extraction de documents
Les limitations suivantes affectent l'extraction de documents :
L'extraction de documents n'est disponible que dans l'appel 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 dates
Champs personnalisés
Zone de texte
Configuration des champs de 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 du formulaire, voir l' aperçu des fonctionnalités. Les noms des champs de formulaires sur les champs sont affichés dans l'image ci-dessous.

Comme vous pouvez le voir, les deux signataires sur le document seront Signataire1 et Propriétaire. Ce seront les identifiants personnalisés utilisés dans la section code ci-dessous pour indiquer à OneSpan Sign quels champs associer à chaque signataire.
Configuration de l'extraction de documents
Le code d'exemple ci-dessous vous montre comment configurer votre transaction pour l'extraction de documents. À chaque appel withSigner , vous verrez que les identifiants personnalisés coïncident avec ceux de l'image du formulaire PDF montré ci-dessus. Le .withDocument propose également un appel à enableExtraction.
Parce que cela est fait, vous n'êtes pas obligé de définir les lieux de signature ni qui doit signer le document. Cela est déjà pris en charge avec les identifiants et les noms de champs de formulaire associés du PDF.
Le code suivant le fera ainsi :
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 évidence pour que l'utilisateur les remplisse. Le champ Nom sera rempli automatiquement par OneSpan Sign une fois la signature terminée. De même, le propriétaire verra également ses champs désignés surlignés à remplir.
REST API
Pour télécharger l'exemple complet de code, consultez notre site de partage de code . Cliquez sur l'icône disque ci-dessous pour télécharger le PDF utilisé dans ce sujet.
La fonction d'extraction de documents crée automatiquement toutes les signatures et champs existant dans un fichier PDF téléchargé. Les positions et tailles des signatures et des champs dans le fichier PDF sont automatiquement conservées dans OneSpan Sign.
Limitations de l'extraction de documents
Les limitations suivantes affectent l'extraction de documents :
L'extraction de documents n'est disponible que dans l'appel 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 dates
Champs personnalisés
Zone de texte
Configuration des champs de 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 du formulaire, voir l' aperçu des fonctionnalités. Les noms des champs de formulaires sur les champs sont affichés dans l'image ci-dessous.
.webp?sv=2022-11-02&spr=https&st=2026-05-02T03%3A20%3A20Z&se=2026-05-02T03%3A43%3A20Z&sr=c&sp=r&sig=ujkyj0gU5%2BTSB0tOZTOTsZgnpUT7QagjDB1arugZi5U%3D)
Comme vous pouvez le voir, les deux signataires sur le document seront Signataire1 et Propriétaire. Ce seront les identifiants personnalisés utilisés dans la section code ci-dessous pour indiquer à OneSpan Sign quels champs associer à chaque signataire. Par défaut, les valeurs utilisées pour le rôle de l'étiquette d'extraction/Nom de champ sont Signer1 , Signer2 , etc. Si vous souhaitez inclure l'expéditeur de la transaction comme signataire, utilisez le tag Propriétaire.
Configuration de l'extraction de documents
En général, vous construirez votre chaîne JSON de façon dynamique, au lieu d'avoir une chaîne statique géante, comme celle-ci. Cela permet de bien représenter la structure du JSON, il vous faudra pour créer correctement votre transaction.
Le JSON ci-dessous est formaté pour la lisibilité. Dans chaque objet de rôle, vous verrez que les identifiants personnalisés coïncident avec ceux de l'image du formulaire PDF montré ci-dessus. L'objet documents a également extrait comme true.
Parce que cela est fait, vous n'êtes pas obligé de définir les lieux de signature ni qui doit signer le document. Cela est déjà pris en charge avec les identifiants et les noms de champs de formulaire associés 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 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, voir le tableau des charges utiles de demande ci-dessous.
Charge utile de réponse
{
"id": "9sKhW-h-qS9m6Ho3zRv3n2a-rkI="
}Résultats
Les champs obligatoires sont mis en évidence pour que l'utilisateur les remplisse. Le champ Nom sera rempli automatiquement par OneSpan Sign une fois la signature terminée. De même, le propriétaire verra également ses champs désignés surlignés à remplir.
Table des charges utiles de requêtes
Propriété | Type | Modifiable | Obligatoire | Par défaut | Valeurs d'échantillonnage |
|---|---|---|---|---|---|
Statut | Corde | Oui | Non | DRAFT | BROUILLON / ENVOYÉ / COMPLÉTÉ / ARCHIVÉ / REFUSÉ / OPTED_OUT / EXPIRÉ |
autoComplete | Booléen | Oui | Non | Vrai | vrai / faux |
Type | Corde | Oui | Non | PAQUET | PACKAGE / MODÈLE / MISE EN PAGE |
Nom | Corde | Oui | Oui | N/D | Extraction de documents de test |
Documents | |||||
Nom | Corde | Oui | Non | N/D | testDocumentExtraction |
extrait | Booléen | Oui | Non | faux | vrai / faux |
Rôles | |||||
id | Corde | Oui | Non | N/D | Préparateur1 |
Nom | Corde | Oui | Non | N/D | Expéditeur |
Type | Corde | Oui | Non | SIGNATAIRE | SIGNATAIRE / ÉMETTEUR |
Signataires | |||||
Corde | Oui | Oui | N/D | preparer.email@example.com | |
Prénom | Corde | Oui | Oui | N/D | Michael |
Nom de famille | Corde | Oui | Oui | N/D | Williams |
téléphone | Corde | Oui | Non | N/D | 514-555-8888 |
id | Corde | Oui | Non | N/D | Préparateur1 |
Livraison | |||||
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 complet de code, consultez notre site de partage de code . Cliquez sur l'icône disque ci-dessous pour télécharger le PDF utilisé dans ce sujet.
La fonction d'extraction de documents crée automatiquement toutes les signatures et champs existant dans un fichier PDF téléchargé. Les positions et tailles des signatures et des champs dans le fichier PDF sont automatiquement conservées dans OneSpan Sign.
Limitations de l'extraction de documents
Les limitations suivantes affectent l'extraction de documents :
L'extraction de documents n'est disponible que dans l'appel 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 dates
Champs personnalisés
Zone de texte
Configuration des champs de 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 du formulaire, voir l' aperçu des fonctionnalités. Les noms des champs de formulaires sur les champs sont affichés dans l'image ci-dessous.
.webp?sv=2022-11-02&spr=https&st=2026-05-02T03%3A20%3A20Z&se=2026-05-02T03%3A43%3A20Z&sr=c&sp=r&sig=ujkyj0gU5%2BTSB0tOZTOTsZgnpUT7QagjDB1arugZi5U%3D)
Comme vous pouvez le voir, les deux signataires sur le document seront Signataire1 et Propriétaire. Ce seront les identifiants personnalisés utilisés dans la section code ci-dessous pour indiquer à OneSpan Sign quels champs associer à chaque signataire.
Configuration de l'extraction de documents
Le code d'exemple ci-dessous vous montre comment configurer votre transaction pour l'extraction de documents. Dans chaque objet Rôle , vous verrez que les attributs du nom coïncident avec ceux de l'image du formulaire PDF montré ci-dessus.
Parce que l'expéditeur de la transaction sera par défaut ajouté à la liste des signataires avec le nom de rôle Propriétaire, vous n'êtes pas obligé de créer explicitement un objet Rôle pour l'expéditeur.
Dans l'objet Document , l'attribut extract est également réglé sur true.
Parce que cela est fait, vous n'êtes pas obligé de définir les lieux de signature ni qui doit signer le document. Cela est déjà pris en charge avec les identifiants et les noms de champs de formulaire associés 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 évidence pour que l'utilisateur les remplisse. Le champ Nom sera rempli automatiquement par OneSpan Sign une fois la signature terminée. De même, le propriétaire verra également ses champs désignés surlignés à remplir.