--- title: "Extraction de la position" slug: "position-extraction" updated: 2025-02-28T11:20:42Z published: 2025-02-28T11:20:42Z canonical: "docs.onespan.com/position-extraction" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.onespan.com/llms.txt > Use this file to discover all available pages before exploring further. # Extraction de la position [SDK Java](/v1/docs/fr/position-extraction#sdk-java) [.NET SDK](/v1/docs/fr/position-extraction#net-sdk) [API REST](/v1/docs/fr/position-extraction#api-rest) [APEX SDK](/v1/docs/fr/position-extraction#apex-sdk) ## SDK Java Pour télécharger l'exemple complet de code, consultez notre site [Partage de code](https://community.onespan.com/documentation/onespan-sign/codeshare/position-extraction-java-sdk/). Pour obtenir plus d'informations sur l'utilisation de l'extraction de position avec les champs conditionnels, voir [Extraction de position + champs conditionnels](https://community.onespan.com/documentation/codeshare/position-extraction-conditional-fields). La fonction Extraction de position garantit que la position et la taille exactes d'un champ ou d'une signature dans un fichier PDF téléversé sont automatiquement conservées dans OneSpan Sign. L'exemple de code suivant vous montre comment modifier l'objet du bloc de document avec l'extraction de position. 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 [](https://developer.esignlive.com/guides/quick-start/creating-and-sending-a-package-net/)[Création et envoi d'une transaction](/v1/docs/fr/creating-and-sending-a-transaction#sdk-java). ```java .withDocument(newDocumentWithName("First Document")   .fromFile("DOC_FILE_PATH")   .enableExtraction()   .withSignature(signatureFor("john.smith@email.com")      .withName("sig1")      .withPositionExtracted()) ) ``` Assurez-vous que l'appel enableExtraction() soit défini au niveau du document et que votre document PDF contient un champ nommé sig1. Sinon, une erreur sera déclenchée. ### Résultats Voici un exemple de ce que vous pouvez vous attendre à voir une fois que vous aurez exécuté votre code. ![Capture](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/field_validator_1(1).png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A05%3A03Z&se=2026-11-13T11%3A05%3A03Z&sr=c&sp=r&sig=AZX1B8L3htpFNVUA1xw9TsVX5x%2B2T%2BFd6l4C%2BBEtdrc%3D) ## .NET SDK Pour télécharger l'exemple complet de code, consultez notre site [Partage de code](https://community.onespan.com/documentation/onespan-sign/codeshare/position-extraction-net-sdk/). La fonction Extraction de position garantit que la position et la taille exactes d'un champ ou d'une signature dans un fichier PDF téléversé sont automatiquement conservées dans OneSpan Sign. L'exemple de code suivant vous montre comment modifier l'objet du bloc de document avec l'extraction de position. 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 [](https://developer.esignlive.com/guides/quick-start/creating-and-sending-a-package-net/)[Création et envoi d'une transaction](/v1/docs/fr/creating-and-sending-a-transaction#net-sdk). ```csharp .WithDocument(DocumentBuilder.NewDocumentNamed("First Document")   .FromFile("C:/Users/hhaidary/Desktop/pdf/working.pdf")   .EnableExtraction()   .WithSignature(SignatureBuilder.SignatureFor("john.smith@email.com")      .WithName("sig1")      .WithPositionExtracted()) ) ``` Assurez-vous que l'appel enableExtraction() soit défini au niveau du document et que votre document PDF contient un champ nommé sig1. Sinon, une erreur sera déclenchée. ### Résultats Voici un exemple de ce que vous pouvez vous attendre à voir une fois que vous aurez exécuté votre code. ![Capture](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/field_validator_1(2).png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A05%3A03Z&se=2026-11-13T11%3A05%3A03Z&sr=c&sp=r&sig=AZX1B8L3htpFNVUA1xw9TsVX5x%2B2T%2BFd6l4C%2BBEtdrc%3D) ## API REST Pour télécharger l'exemple complet de code, consultez notre site [Partage de code](https://community.onespan.com/documentation/onespan-sign/codeshare/position-extraction-rest-api/). La fonction Extraction de position garantit que la position et la taille exactes d'un champ ou d'une signature dans un fichier PDF téléversé sont automatiquement conservées dans OneSpan Sign. L'exemple de code suivant vous montre comment modifier l'objet du bloc de document avec l'extraction de position. 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 [](https://developer.esignlive.com/guides/quick-start/creating-and-sending-a-package-net/)[Création et envoi d'une transaction](/v1/docs/fr/creating-and-sending-a-transaction#api-rest). #### Requête HTTP ```http POST /api/packages ``` #### En-têtes HTTP ```http Accept: application/json   Content-Type: multipart/form-data   Authorization: Basic api_key ``` #### Données utiles de la demande ```json ------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": "john.smith@example.com"        }      ],      "name": "Signer1"    }  ],  "documents": [    {      "approvals": [        {          "fields": [            {              "type": "INPUT",              "extract": true,              "subtype": "LABEL",              "name": "name1",              "binding": "{signer.name}"            },            {              "type": "INPUT",              "extract": true,              "subtype": "TEXTFIELD",              "name": "age1"            },            {              "type": "INPUT",              "extract": true,              "subtype": "TEXTFIELD",              "name": "address1"            },            {              "type": "INPUT",              "extract": true,              "subtype": "TEXTFIELD",              "name": "zip1"            },            {              "type": "INPUT",              "extract": true,              "subtype": "TEXTFIELD",              "name": "city1"            },            {              "type": "SIGNATURE",              "extract": true,              "subtype": "FULLNAME",              "name": "sig1"            }          ],          "role": "Signer1"        }      ],      "extract": true,      "name": "Sample Contract"    }  ],  "name": "Field Position Extraction Example",  "type": "PACKAGE",  "language": "en",  "autoComplete": true,  "status": "DRAFT" } ------WebKitFormBoundary1bNO60n7FqP5WO4t-- ``` Assurez-vous que “extract” : true est défini au niveau du document et que votre document PDF contient des champs nommés name1 age1, address1, zip1, city1 et sig1. Si vous ne le faites pas, une erreur sera générée. 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 ```json {   "id": "9sKhW-h-qS9m6Ho3zRv3n2a-rkI="   } ``` ### Résultats Voici un exemple de ce que vous pouvez vous attendre à voir une fois que vous aurez exécuté votre code. ![Capture](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/field_validator_1(3).png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A05%3A03Z&se=2026-11-13T11%3A05%3A03Z&sr=c&sp=r&sig=AZX1B8L3htpFNVUA1xw9TsVX5x%2B2T%2BFd6l4C%2BBEtdrc%3D) ### 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 de la position du champ | | documents | | | | | | | | | nom | | | chaîne de caractères | Oui | Non | s.o. | Exemple de contrat | | extrait | | | booléen | Oui | Non | faux | vrai / faux | | approbations | | | | | | | | | | rôle | | chaîne de caractères | Oui | Non | s.o. | Signataire1 | | | 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 | | | | nom | chaîne de caractères | Oui | Non | s.o. | sig1 | | | | valeur | chaîne de caractères | Oui | Non | s.o. | NOM COMPLET / INITIALES / CAPTURE / ÉTIQUETTE / CHAMP DE TEXTE / ZONE DE TEXTE / CASE / RADIO / LISTE | | | | liaison | chaîne de caractères | Oui | Non | nul | {approval.signed} / {signer.title} / {signer.name} / {signer.company} | | rôles | | | | | | | | | id | | | chaîne de caractères | Oui | Non | s.o. | Signataire1 | | nom | | | chaîne de caractères | Oui | Non | s.o. | Expéditeur | | 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 | ## APEX SDK Pour télécharger l'exemple complet de code, consultez notre site [Partage de code](https://community.onespan.com/documentation/onespan-sign/codeshare/position-extraction-apex-sdk/). La fonction Extraction de position garantit que la position et la taille exactes d'un champ ou d'une signature dans un fichier PDF téléversé sont automatiquement conservées dans OneSpan Sign. L'exemple de code suivant vous montre comment modifier l'objet du bloc de document avec l'extraction de position. 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 [](https://developer.esignlive.com/guides/quick-start/creating-and-sending-a-package-net/)[Création et envoi d'une transaction](/v1/docs/fr/creating-and-sending-a-transaction#apex-sdk). ```plaintext // Prepare Documents Blob String document1Name = 'Sample_Position_Extraction'; StaticResource sr = [SELECT Id, Body FROM StaticResource WHERE Name = 'test_position_extraction' LIMIT 1]; Map documentBlobMap = new Map(); 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 ESignLiveAPIObjects.Approval approval1 = new ESignLiveAPIObjects.Approval(); approval1.role = roleId1; approval1.id = 'approval1'; ESignLiveAPIObjects.Field field1 = new ESignLiveAPIObjects.Field(); field1.id = 'signature1'; field1.extract = true; field1.name = 'sig1'; // Match pdf field property name field1.type = 'SIGNATURE'; field1.subtype = 'FULLNAME'; approval1.fields = new List{field1}; document1.approvals = new List{approval1}; pkg.documents = new List{document1}; // Add document ``` Assurez-vous que l'appel enableExtraction() soit défini au niveau du document et que votre document PDF contient un champ nommé sig1. Sinon, une erreur sera déclenchée. ### Résultats Voici un exemple de ce que vous pouvez vous attendre à voir une fois que vous aurez exécuté votre code. ![Capture](https://cdn.document360.io/038f59a7-abd0-4c14-9de7-3434d28b49fd/Images/Documentation/field_validator_1(4).png?sv=2026-02-06&spr=https&st=2026-11-13T10%3A05%3A03Z&se=2026-11-13T11%3A05%3A03Z&sr=c&sp=r&sig=AZX1B8L3htpFNVUA1xw9TsVX5x%2B2T%2BFd6l4C%2BBEtdrc%3D)