--- title: "Téléchargement et suppression de documents" slug: "uploading-deleting-documents" updated: 2026-08-31T12:41:17Z published: 2026-08-31T12:41:17Z canonical: "docs.onespan.com/uploading-deleting-documents" --- > ## 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. # Téléchargement et suppression de documents  [Java SDK](/v1/docs/fr/configuring-document-visibility#java-sdk) [.NET SDK](/v1/docs/fr/configuring-document-visibility#net-sdk) [REST API](/v1/docs/fr/configuring-document-visibility#rest-api) [APEX SDK](/v1/docs/fr/configuring-document-visibility#apex-sdk) ## Java SDK Pour télécharger l'exemple complet de code, consultez notre site [de partage de code](https://community.onespan.com/documentation/onespan-sign/codeshare/document-operations-example-java-sdk/) . Ce sujet comprend les éléments suivants : - Comment télécharger un document - Comment remplacer un document existant - Comment mettre à jour les métadonnées dans un document - Comment définir un document en lecture seule dans le Designer - Comment supprimer un document après avoir créé un paquet ### Téléchargement des documents Pour ajouter un document à un package existant, vous devez d'abord créer l'objet Document. Le code suivant créera un objet Document : ```plaintext Document document = DocumentBuilder.newDocumentWithName("Example Document")    .fromFile("DOC_FILE_PATH")    //.fromStream( documentStream, DocumentType.PDF );    .withId("document1")    .withDescription("Sample Document Description")    .build(); ``` Une fois l'objet Document créé, trouvez le PackageId auquel vous souhaitez ajouter le document, puis utilisez le client OneSpan Sign pour télécharger ce document. Le code suivant le fera ainsi : ```plaintext eslClient.uploadDocument(document, packageId); ``` Vous pouvez également télécharger plusieurs documents en un seul appel. Pour cela, construisez plusieurs objets Document localement et passez-les sous forme d'arguments variables ou en liste dans le code suivant : ```plaintext eslClient.uploadDocuments(packageId, doc1, doc2, doc3); eslClient.uploadDocuments(packageId, Arrays.asList(doc1, doc2, doc3)); ``` OneSpan Sign prend en charge les types de documents suivants : - *Adobe Portable Document Format* (*.pdf*) — Les PDF sur lesquels OneSpan Sign peut agir disposent généralement d'au moins ces autorisations activées : (1) Modification du document ; (2) Signature ; (3) Remplissage des champs de formulaire. - Microsoft Word (*.doc* ou *.docx*) - Open Office (*.odt*) - Texte (*.txt*) - Format de texte enrichi (*.rtf*) De plus, le pilote d'impression OneSpan Sign prend en charge tout document pouvant être imprimé depuis une application Windows (par exemple, Microsoft Word, Microsoft Excel, Microsoft PowerPoint). **Contraintes de taille de fichier** - La taille maximale d'un seul document est de 16 Mo. Les documents plus petits offrent de meilleures performances — nous recommandons moins de 5 Mo par document. - La taille maximale totale de tous les documents d'une transaction est de 39 Mo. Cependant, la taille maximale peut varier selon la taille globale de votre charge utile. Si vous recevez un message d'erreur indiquant que la taille de la requête dépasse la taille maximale autorisée de 50 Mo, alors que la taille totale de votre document est de 39 Mo, gardez à l'esprit que la limite réelle dépend de la taille totale de la charge utile, et pas seulement de la taille brute du document. - Si votre organisation utilise des connecteurs Salesforce ou Microsoft SharePoint, la taille maximale du fichier est de 5 Mo par document. - Si votre organisation utilise des connecteurs Salesforce, le nombre maximal de documents pouvant être ajoutés à une transaction est de dix (10). - Si vous activez la livraison d'e-mail tout en configurant un destinataire, les pièces jointes supérieures à 5 Mo ne sont pas prises en charge. **Contraintes de noms de fichiers** - Les noms de fichiers des documents ne doivent pas contenir les caractères suivants séparés par des virgules : *, /, \, :, <, >, |, ?, ". **Contraintes générales des fichiers** - Nous vous recommandons de ne pas utiliser de documents PDF utilisant XML Forms Architecture. Pour plus d'informations, consultez la section Prise en charge XFA. - Ne téléchargez pas les documents protégés par mot de passe ou corrompus. Cela générera une erreur. - OneSpan recommande vivement de scanner un PDF pour détecter des erreurs de syntaxe (par exemple, en utilisant l'outil Preflight d'Adobe) et de résoudre les erreurs avant d'ajouter le document à une transaction. - Les PDF avec le drapeau NeedAppearances réglé sur true ne sont pas actuellement pris en charge. ### Remplacement d'un document existant Remplacer un document existant dans une transaction peut également se faire en utilisant la fonction Upload. C'est utile, par exemple, si vous souhaitez remplacer le document tout en conservant la disposition des champs et des signatures. Pour cela, construisez un objet Document qui porte le même ID de document que le document que vous souhaitez remplacer, puis utilisez le client OneSpan Sign pour le télécharger. Le code suivant fera cela : ```plaintext Document document = DocumentBuilder.newDocumentWithName("Document1")    .fromFile("path_to_your_file")    .withId("keep_the_same_document_id")    .build(); eslClient.uploadDocument(document, new PackageId("the_package_id")); ``` De même, vous pouvez remplacer plusieurs documents lors d'un appel. ```plaintext Document document = DocumentBuilder.newDocumentWithName("Updated Document1")    .fromFile("path_to_your_file ")    .withId("1dda69f88b10f2e0e6bd846aae9fca0a961aba793bf655b0")    .build(); Document document2 = DocumentBuilder.newDocumentWithName("Updated Document2")    .fromFile("path_to_your_file ")    .withId("c4a6128b646f50c650779d652e5951097663a1de16c4ce72")    .build(); eslClient.uploadDocuments(new PackageId("package_id"), Arrays.asList(document, document2)); ``` ### Mise à jour des métadonnées du document Pour mettre à jour les métadonnées d'un document, il suffit de créer un objet Document avec les mises à jour que vous souhaitez effectuer. Par exemple : ```plaintext Document document = DocumentBuilder.newDocumentWithName("Example Document")    .withName("Updated document name")    .withDescription("Updated document description")    .build(); ``` Ensuite, prenez le DocumentPackage dans lequel vous souhaitez modifier ce document, puis utilisez le client OneSpan Sign pour mettre à jour les métadonnées du document. Le code suivant fera cela : ```plaintext eslClient.getPackageService().updateDocumentMetadata(documentPackage, document); ``` ### Définir un document en lecture seule dans le designer Pour empêcher les expéditeurs de modifier la disposition des champs d'un document dans le Designer, vous pouvez signaler le document comme en lecture seule en utilisant la `designerReadOnly` propriété. Cette propriété ne peut être définie que via l'API ou le SDK — elle ne peut pas être configurée depuis l'interface utilisateur de l'expéditeur. Lorsqu'un document est signalé comme en lecture seule : - Le document s'affiche en lecture seule dans le Designer, à la fois dans l'interface de l'expéditeur et lorsqu'il est accessible via iFrame - Le bouton Accepter seul, le bouton Appliquer la mise en page et tous les champs du document sont désactivés - Une icône de cadenas apparaît à côté du nom du document dans le panneau Documents, avec une infobulle « Document verrouillé » - Survoler un champ sur un document verrouillé affiche l'infobulle « Les champs ne peuvent pas être modifiés sur des documents verrouillés. » - Le Designer affiche le message « Ce document est verrouillé et ne peut pas être modifié. » Le drapeau en lecture seule s'applique uniquement au document signalé au sein d'une transaction. Tous les autres documents restent entièrement visibles et modifiables dans le Designer. Pour signaler un document comme en lecture seule au moment de l'upload, réglez `designerReadOnly` sur `true` lors de la création de l'objet Document : ```plaintext Document document = DocumentBuilder.newDocumentWithName("Example Document")    .fromFile("DOC_FILE_PATH")    .withId("document1")    .withDesignerReadOnly(true)    .build(); eslClient.uploadDocument(document, packageId); ``` Vous pouvez également appliquer cette propriété lors de la mise à jour des métadonnées d'un document existant : ```plaintext Document document = DocumentBuilder.newDocumentWithName("Example Document")    .withDesignerReadOnly(true)    .build(); eslClient.getPackageService().updateDocumentMetadata(documentPackage, document); ``` ### Suppression d'un document Pour supprimer un document, appelez la fonction deleteDocument avec la chaîne packageId et documentId : ```plaintext eslClient.getPackageService().deleteDocument(packageId, document.getId().toString()); ``` ### Résultats Après avoir exécuté votre code, si vous vous connectez à OneSpan Sign et naviguez vers votre transaction, vous pourrez vous connecter à votre compte OneSpan Sign et consulter les documents que vous venez d'ajouter. ## .NET SDK Pour télécharger l'exemple complet de code, consultez notre site [de partage de code](https://community.onespan.com/documentation/onespan-sign/codeshare/document-operations-example-net-sdk/) . Ce sujet comprend les éléments suivants : - Comment télécharger un document - Comment remplacer un document existant - Comment mettre à jour les métadonnées dans un document - Comment définir un document en lecture seule dans le Designer - Comment supprimer un document après avoir créé un paquet ### Téléchargement des documents Pour ajouter un document à un package existant, vous devez d'abord créer l'objet Document. Le code suivant créera un objet Document : ```plaintext Document document = DocumentBuilder.NewDocumentNamed("Example Document")    .FromFile("DOC_FILE_PATH")    //.fromStream( documentStream, DocumentType.PDF );    .WithId("document1")    .WithDescription("Sample Document Description")    .Build(); ``` Une fois l'objet Document créé, trouvez le PackageId auquel vous souhaitez ajouter le document, puis utilisez le client OneSpan Sign pour télécharger ce document. Le code suivant le fera ainsi : ```plaintext eslClient.UploadDocument(document, packageId); ``` Vous pouvez également télécharger plusieurs documents en un seul appel. Pour cela, construisez plusieurs objets Document localement et passez-les sous forme d'arguments variables ou en liste dans le code suivant : ```plaintext eslClient.UploadDocuments(packageId, doc1, doc2, doc3); eslClient.UploadDocuments(packageId, new List(){doc1,doc2,doc3}); ``` OneSpan Sign prend en charge les types de documents suivants : - *Adobe Portable Document Format* (*.pdf*) — Les PDF sur lesquels OneSpan Sign peut agir disposent généralement d'au moins ces autorisations activées : (1) Modification du document ; (2) Signature ; (3) Remplissage des champs de formulaire. - Microsoft Word (*.doc* ou *.docx*) - Open Office (*.odt*) - Texte (*.txt*) - Format de texte enrichi (*.rtf*) De plus, le pilote d'impression OneSpan Sign prend en charge tout document pouvant être imprimé depuis une application Windows (par exemple, Microsoft Word, Microsoft Excel, Microsoft PowerPoint). **Contraintes de taille de fichier** - La taille maximale d'un seul document est de 16 Mo. Les documents plus petits offrent de meilleures performances — nous recommandons moins de 5 Mo par document. - La taille maximale totale de tous les documents d'une transaction est de 39 Mo. Cependant, la taille maximale peut varier selon la taille globale de votre charge utile. Si vous recevez un message d'erreur indiquant que la taille de la requête dépasse la taille maximale autorisée de 50 Mo, alors que la taille totale de votre document est de 39 Mo, gardez à l'esprit que la limite réelle dépend de la taille totale de la charge utile, et pas seulement de la taille brute du document. - Si votre organisation utilise des connecteurs Salesforce ou Microsoft SharePoint, la taille maximale du fichier est de 5 Mo par document. - Si votre organisation utilise des connecteurs Salesforce, le nombre maximal de documents pouvant être ajoutés à une transaction est de dix (10). - Si vous activez la livraison d'e-mail tout en configurant un destinataire, les pièces jointes supérieures à 5 Mo ne sont pas prises en charge. **Contraintes de noms de fichiers** - Les noms de fichiers des documents ne doivent pas contenir les caractères suivants séparés par des virgules : *, /, \, :, <, >, |, ?, ". **Contraintes générales des fichiers** - Nous vous recommandons de ne pas utiliser de documents PDF utilisant XML Forms Architecture. Pour plus d'informations, consultez la section Prise en charge XFA. - Ne téléchargez pas les documents protégés par mot de passe ou corrompus. Cela générera une erreur. - OneSpan recommande vivement de scanner un PDF pour détecter des erreurs de syntaxe (par exemple, en utilisant l'outil Preflight d'Adobe) et de résoudre les erreurs avant d'ajouter le document à une transaction. - Les PDF avec le drapeau NeedAppearances réglé sur true ne sont pas actuellement pris en charge. ### Remplacement d'un document existant Remplacer un document existant dans une transaction peut également se faire en utilisant la fonction Upload. C'est utile, par exemple, si vous souhaitez remplacer le document tout en conservant la mise en page des champs et des signatures. Pour cela, construisez un objet Document qui porte le même ID de document que le document que vous souhaitez remplacer, puis utilisez le client OneSpan Sign pour le télécharger. Le code suivant fera cela : ```plaintext Document document = DocumentBuilder.NewDocumentWithName("Document1")    .FromFile("path_to_your_file")    .WithId("keep_the_same_document_id")    .Build(); eslClient.UploadDocument(document, new PackageId("the_package_id")); ``` De même, vous pouvez remplacer plusieurs documents lors d'un appel. ```plaintext Document document = DocumentBuilder.NewDocumentWithName("Updated Document1")    .FromFile("path_to_your_file ")    .WithId("1dda69f88b10f2e0e6bd846aae9fca0a961aba793bf655b0")    .Build(); Document document2 = DocumentBuilder.NewDocumentWithName("Updated Document2")    .FromFile("path_to_your_file ")    .WithId("c4a6128b646f50c650779d652e5951097663a1de16c4ce72")    .Build(); eslClient.UploadDocuments(new PackageId("package_id"), new List(){document,document2}); ``` ### Mise à jour des métadonnées du document Pour mettre à jour les métadonnées d'un document, il suffit de créer un objet Document avec les mises à jour que vous souhaitez effectuer. Par exemple : ```plaintext Document document = DocumentBuilder.NewDocumentNamed("Example Document")    .WithName("Updated document name")    .WithDescription("Updated document description")    .Build(); ``` Ensuite, prenez le DocumentPackage dans lequel vous souhaitez modifier ce document, puis utilisez le client OneSpan Sign pour mettre à jour les métadonnées du document. Le code suivant fera cela : ```plaintext eslClient.PackageService.UpdateDocumentMetadata(documentPackage, document); ``` ### Définir un document en lecture seule dans le designer Pour empêcher les expéditeurs de modifier la disposition des champs d'un document dans le Designer, vous pouvez signaler le document comme en lecture seule en utilisant la `designerReadOnly` propriété. Cette propriété ne peut être définie que via l'API ou le SDK — elle ne peut pas être configurée depuis l'interface utilisateur de l'expéditeur. Lorsqu'un document est signalé comme en lecture seule : - Le document s'affiche en lecture seule dans le Designer, à la fois dans l'interface de l'expéditeur et lorsqu'il est accessible via iFrame - Le bouton Accepter seul, le bouton Appliquer la mise en page et tous les champs du document sont désactivés - Une icône de cadenas apparaît à côté du nom du document dans le panneau Documents, avec une infobulle « Document verrouillé » - Survoler un champ sur un document verrouillé affiche l'infobulle « Les champs ne peuvent pas être modifiés sur des documents verrouillés. » - Le Designer affiche le message « Ce document est verrouillé et ne peut pas être modifié. » Le drapeau en lecture seule s'applique uniquement au document signalé au sein d'une transaction. Tous les autres documents restent entièrement visibles et modifiables dans le Designer. Pour signaler un document comme en lecture seule au moment de l'upload, réglez `DesignerReadOnly` sur `true` lors de la création de l'objet Document : ```plaintext Document document = DocumentBuilder.NewDocumentNamed("Example Document")    .FromFile("DOC_FILE_PATH")    .WithId("document1")    .WithDesignerReadOnly(true)    .Build(); eslClient.UploadDocument(document, packageId); ``` Vous pouvez également appliquer cette propriété lors de la mise à jour des métadonnées d'un document existant : ```plaintext Document document = DocumentBuilder.NewDocumentNamed("Example Document")    .WithDesignerReadOnly(true)    .Build(); eslClient.PackageService.UpdateDocumentMetadata(documentPackage, document); ``` ### Suppression d'un document Pour supprimer un document, appelez la fonction deleteDocument avec la chaîne packageId et documentId : ```plaintext eslClient.PackageService.DeleteDocument(packageId, document.Id.ToString()); ``` ### Résultats Après avoir exécuté votre code, si vous vous connectez à OneSpan Sign et naviguez vers votre transaction, vous pourrez vous connecter à votre compte OneSpan Sign et consulter les documents que vous venez d'ajouter. ## REST API Pour télécharger l'exemple complet de code, consultez notre site [de partage de code](https://community.onespan.com/documentation/onespan-sign/codeshare/document-operations-example-rest-api/) . Ce sujet comprend les éléments suivants : - Comment télécharger un document - Comment remplacer un document existant - Comment mettre à jour les métadonnées dans un document - Comment définir un document en lecture seule dans le Designer - Comment supprimer un document après avoir créé un paquet ### Téléchargement des documents #### Téléversement d'un seul document Pour télécharger un document après avoir créé un paquet, vous devrez effectuer une requête POST en plusieurs parties. **Requête HTTP** ```plaintext POST /api/packages/{packageId}/documents ``` **En-têtes HTTP** ```plaintext Accept: text/html Content-Type: multipart/form-data Authorization: Basic api_key ``` **Charge utile de demande** ```plaintext ------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" {    "name": "Example Document",    "description": "Example Description",    "id": "Document1" } ------WebKitFormBoundary1bNO60n7FqP5WO4t-- ``` Pour une description complète de chaque champ, voir la section Demande de charge utile ci-dessous. **Charge utile de réponse** ```plaintext {    "status": "",    "description": "Example Description",    "id": "Document1",    "data": {        "ese_document_texttag_extract_needed": "false"    },    "approvals": [        {            "id": "k1r2qMRtCsI5",            "role": "48d0c024-0609-4255-9087-941a66f80738",            "data": null,            "signed": null,            "accepted": null,            "fields": [],            "name": ""        }    ],    "pages": [        {            "id": "",            "top": 0,            "height": 1030,            "width": 796,            "left": 0,            "index": 0,            "version": 0        }    ],    "external": null,    "extract": false,    "signedHash": null,    "signerVerificationToken": null,    "index": 1,    "fields": [],    "name": "Example Document",    "size": 185808 } ``` #### Téléversement de plusieurs documents Pour télécharger plusieurs documents en un seul appel, vous utiliseriez la même URL API mais modifieriez le corps de la requête de la manière suivante : **Requête HTTP** ```plaintext POST /api/packages/{packageId}/documents ``` **En-têtes HTTP** ```plaintext Accept: text/html Content-Type: multipart/form-data Authorization: Basic api_key ``` **Charge utile de demande** ```plaintext ------WebKitFormBoundary1bNO60n7FqP5WO4t Content-Disposition: form-data; name="file"; filename="doc1.pdf" Content-Type: application/pdf %PDF-1.5 %µµµµ 1 0 obj <>>> endobj.... ------WebKitFormBoundary1bNO60n7FqP5WO4t Content-Disposition: form-data; name="file"; filename="doc2.pdf" Content-Type: application/pdf %PDF-1.5 %µµµµ 1 0 obj <>>> endobj.... ------WebKitFormBoundary1bNO60n7FqP5WO4t Content-Disposition: form-data; name="payload" [    {        "name": "Document1",        "description": "Example Description",        "id": "Document1"    },    {        "name": "Document2",        "description": "Example Description",        "id": "Document2"    } ] ------WebKitFormBoundary1bNO60n7FqP5WO4t-- ``` OneSpan Sign prend en charge les types de documents suivants : - *Adobe Portable Document Format* (*.pdf*) — Les PDF sur lesquels OneSpan Sign peut agir disposent généralement d'au moins ces autorisations activées : (1) Modification du document ; (2) Signature ; (3) Remplissage des champs de formulaire. - Microsoft Word (*.doc* ou *.docx*) - Open Office (*.odt*) - Texte (*.txt*) - Format de texte enrichi (*.rtf*) De plus, le pilote d'impression OneSpan Sign prend en charge tout document pouvant être imprimé depuis une application Windows (par exemple, Microsoft Word, Microsoft Excel, Microsoft PowerPoint). **Contraintes de taille de fichier** - La taille maximale d'un seul document est de 16 Mo. Les documents plus petits offrent de meilleures performances — nous recommandons moins de 5 Mo par document. - La taille maximale totale de tous les documents d'une transaction est de 39 Mo. Cependant, la taille maximale peut varier selon la taille globale de votre charge utile. Si vous recevez un message d'erreur indiquant que la taille de la requête dépasse la taille maximale autorisée de 50 Mo, alors que la taille totale de votre document est de 39 Mo, gardez à l'esprit que la limite réelle dépend de la taille totale de la charge utile, et pas seulement de la taille brute du document. - Si votre organisation utilise des connecteurs Salesforce ou Microsoft SharePoint, la taille maximale du fichier est de 5 Mo par document. - Si votre organisation utilise des connecteurs Salesforce, le nombre maximal de documents pouvant être ajoutés à une transaction est de dix (10). - Si vous activez la livraison d'e-mail tout en configurant un destinataire, les pièces jointes supérieures à 5 Mo ne sont pas prises en charge. **Contraintes de noms de fichiers** - Les noms de fichiers des documents ne doivent pas contenir les caractères suivants séparés par des virgules : *, /, \, :, <, >, |, ?, ". **Contraintes générales des fichiers** - Nous vous recommandons de ne pas utiliser de documents PDF utilisant XML Forms Architecture. Pour plus d'informations, consultez la section Prise en charge XFA. - Ne téléchargez pas les documents protégés par mot de passe ou corrompus. Cela générera une erreur. - OneSpan recommande vivement de scanner un PDF pour détecter des erreurs de syntaxe (par exemple, en utilisant l'outil Preflight d'Adobe) et de résoudre les erreurs avant d'ajouter le document à une transaction. - Les PDF avec le drapeau NeedAppearances réglé sur true ne sont pas actuellement pris en charge. ### Remplacement d'un document existant Remplacer un document existant dans une transaction peut également se faire en utilisant l'API de téléchargement de documents. C'est utile, par exemple, si vous souhaitez remplacer le document tout en conservant la disposition des champs et des signatures. Pour ce faire, effectuez une requête POST en plusieurs parties où la charge utile JSON du document porte le même ID de document que le document original : #### Requête HTTP ```plaintext POST /api/packages/{packageId}/documents ``` #### En-têtes HTTP ```plaintext Accept: text/html Content-Type: multipart/form-data Authorization: Basic api_key ``` #### Charge utile de demande ```plaintext ------WebKitFormBoundary1bNO60n7FqP5WO4t Content-Disposition: form-data; name="file"; filename="doc1.pdf" Content-Type: application/pdf %PDF-1.5 %µµµµ 1 0 obj <>>> endobj.... ------WebKitFormBoundary1bNO60n7FqP5WO4t Content-Disposition: form-data; name="payload" {    "name": "Replaced Document",    "id": "keep_the_document_id_same" } ------WebKitFormBoundary1bNO60n7FqP5WO4t-- ``` De même, vous pouvez remplacer plusieurs documents en utilisant la demande suivante : #### Charge utile de demande ```plaintext ------WebKitFormBoundary1bNO60n7FqP5WO4t Content-Disposition: form-data; name="file"; filename="doc1.pdf" Content-Type: application/pdf %PDF-1.5 %µµµµ 1 0 obj <>>> endobj.... ------WebKitFormBoundary1bNO60n7FqP5WO4t Content-Disposition: form-data; name="file"; filename="doc2.pdf" Content-Type: application/pdf %PDF-1.5 %µµµµ 1 0 obj <>>> endobj.... ------WebKitFormBoundary1bNO60n7FqP5WO4t Content-Disposition: form-data; name="payload" [    {        "name": "Replaced Document1",        "id": "keep_the_document1_id_same"    },    {        "name": "Replaced Document2",        "id": "keep_the_document2_id_same"    } ]------WebKitFormBoundary1bNO60n7FqP5WO4t-- ``` ### Mise à jour des métadonnées du document Pour mettre à jour les métadonnées d'un document, vous devrez créer votre JSON en utilisant les métadonnées du document mises à jour : ```plaintext {    "name": "Example Document",    "description": "Example Description" } ``` Utilisez ensuite la commande suivante : ```plaintext PUT https://sandbox.esignlive.com/api/packages/{packageId}/documents/{documentId} ``` L'appel ci-dessus ne mettra à jour que les attributs au niveau du document que vous avez définis dans votre nouvelle charge utile JSON et pas les autres attributs intégrés pouvant être mis à jour. ### Définir un document en lecture seule dans le designer Pour empêcher les expéditeurs de modifier la disposition des champs d'un document dans le Designer, vous pouvez signaler le document comme en lecture seule en utilisant cette `designerReadOnly` propriété. Cette propriété ne peut être définie que via l'API — elle ne peut pas être définie depuis l'interface utilisateur de l'expéditeur. Lorsqu'un document est signalé comme en lecture seule : - Le document s'affiche en lecture seule dans le Designer, à la fois dans l'interface de l'expéditeur et lorsqu'il est accessible via iFrame - Le bouton Accepter seul, le bouton Appliquer la mise en page et tous les champs du document sont désactivés - Une icône de cadenas apparaît à côté du nom du document dans le panneau Documents, avec une infobulle « Document verrouillé » - Survoler un champ sur un document verrouillé affiche l'infobulle « Les champs ne peuvent pas être modifiés sur des documents verrouillés. » - Le Designer affiche le message « Ce document est verrouillé et ne peut pas être modifié. » Le drapeau en lecture seule s'applique uniquement au document signalé au sein d'une transaction. Tous les autres documents restent entièrement visibles et modifiables dans le Designer. Pour marquer un document comme en lecture seule, incluez `designerReadOnly` dans la charge utile JSON lors du téléchargement ou de la mise à jour d'un document : ```plaintext PUT https://sandbox.esignlive.com/api/packages/{packageId}/documents/{documentId} ``` ```plaintext {    "name": "Example Document",    "designerReadOnly": true } ``` L'appel ci-dessus met à jour uniquement les attributs au niveau du document que vous définissez dans la charge utile et n'affecte aucun autre attribut intégré. ### Suppression d'un document Pour supprimer un document, effectuez une requête DELETE à l'URI suivant : ```plaintext https://sandbox.esignlive.com/api/packages/{packageId}/documents/{documentId} ``` ### Résultats Après avoir exécuté votre code, si vous vous connectez à OneSpan Sign et naviguez vers votre transaction, vous pourrez vous connecter à votre compte OneSpan Sign et consulter les documents que vous venez d'ajouter. ### Table des charges utiles de requêtes | Propriété | Type | Modifiable | Obligatoire | Par défaut | Valeurs d'échantillonnage | | --- | --- | --- | --- | --- | --- | | Nom | Corde | Oui | Non | N/D | Document d'exemple | | Description | Corde | Oui | Non | N/D | Description d'exemple | | id | Corde | Oui | Non | N/D | Document1 | | designerReadOnly | Booléen | Oui | Non | faux | Vrai | ## APEX SDK Pour télécharger l'exemple complet de code, consultez notre site [de partage de code](https://community.onespan.com/documentation/onespan-sign/codeshare/document-operations-example-apex-sdk/) . Ce sujet comprend les éléments suivants : - Comment télécharger un document - Comment remplacer un document existant - Comment mettre à jour les métadonnées dans un document - Comment supprimer un document après avoir créé un paquet ### Téléchargement des documents Pour ajouter un document à un package existant, vous devez d'abord créer l'objet Document. Le code suivant créera un objet Document : ```plaintext StaticResource sr = [SELECT Id, Body FROM StaticResource WHERE Name = 'testdoc1' LIMIT 1]; Map doc = new Map(); doc.put('Sample Document', sr.Body); ESignLiveAPIObjects.Document document = new ESignLiveAPIObjects.Document(); document.name = 'Sample Contract'; document.id = 'document1'; ``` Une fois l'objet Document créé, trouvez le PackageId auquel vous souhaitez ajouter le document, puis utilisez le client OneSpan Sign pour télécharger ce document. Le code suivant le fera ainsi : ```plaintext String documentResponse = sdk.createDocuments(packageId, document, doc); document = (ESignLiveAPIObjects.Document)JSON.deserialize(documentResponse, ESignLiveAPIObjects.Document.class); ``` OneSpan Sign prend en charge les types de documents suivants : - *Adobe Portable Document Format* (*.pdf*) — Les PDF sur lesquels OneSpan Sign peut agir disposent généralement d'au moins ces autorisations activées : (1) Modification du document ; (2) Signature ; (3) Remplissage des champs de formulaire. - Microsoft Word (*.doc* ou *.docx*) - Open Office (*.odt*) - Texte (*.txt*) - Format de texte enrichi (*.rtf*) De plus, le pilote d'impression OneSpan Sign prend en charge tout document pouvant être imprimé depuis une application Windows (par exemple, Microsoft Word, Microsoft Excel, Microsoft PowerPoint). **Contraintes de taille de fichier** - La taille maximale d'un seul document est de 16 Mo. Les documents plus petits offrent de meilleures performances — nous recommandons moins de 5 Mo par document. - La taille maximale totale de tous les documents d'une transaction est de 39 Mo. Cependant, la taille maximale peut varier selon la taille globale de votre charge utile. Si vous recevez un message d'erreur indiquant que la taille de la requête dépasse la taille maximale autorisée de 50 Mo, alors que la taille totale de votre document est de 39 Mo, gardez à l'esprit que la limite réelle dépend de la taille totale de la charge utile, et pas seulement de la taille brute du document. - Si votre organisation utilise des connecteurs Salesforce ou Microsoft SharePoint, la taille maximale du fichier est de 5 Mo par document. - Si votre organisation utilise des connecteurs Salesforce, le nombre maximal de documents pouvant être ajoutés à une transaction est de dix (10). - Si vous activez la livraison d'e-mail tout en configurant un destinataire, les pièces jointes supérieures à 5 Mo ne sont pas prises en charge. **Contraintes de noms de fichiers** - Les noms de fichiers des documents ne doivent pas contenir les caractères suivants séparés par des virgules : *, /, \, :, <, >, |, ?, ". **Contraintes générales des fichiers** - Nous vous recommandons de ne pas utiliser de documents PDF utilisant XML Forms Architecture. Pour plus d'informations, consultez la section Prise en charge XFA. - Ne téléchargez pas les documents protégés par mot de passe ou corrompus. Cela générera une erreur. - OneSpan recommande vivement de scanner un PDF pour détecter des erreurs de syntaxe (par exemple, en utilisant l'outil Preflight d'Adobe) et de résoudre les erreurs avant d'ajouter le document à une transaction. - Les PDF avec le drapeau NeedAppearances réglé sur true ne sont pas actuellement pris en charge. ### Remplacement d'un document existant Remplacer un document existant dans une transaction peut également se faire en utilisant la fonction Upload. C'est utile, par exemple, si vous souhaitez remplacer le document tout en conservant la mise en page des champs et des signatures. Pour cela, construisez un objet Document qui porte le même ID de document que le document que vous souhaitez remplacer, puis utilisez le client OneSpan Sign pour le télécharger. Le code suivant fera cela : ```plaintext StaticResource sr = [SELECT Id, Body FROM StaticResource WHERE Name = 'testdoc1' LIMIT 1]; Map doc = new Map(); doc.put('Sample Document', sr.Body); ESignLiveAPIObjects.Document document = new ESignLiveAPIObjects.Document(); document.name = 'Updated Document'; document.id = 'keep_the_document_id_same'; String documentResponse = sdk.createDocuments(packageId, document, doc); ``` ### Mise à jour des métadonnées du document Pour mettre à jour les métadonnées d'un document, il suffit de créer un objet Document avec les mises à jour que vous souhaitez effectuer. Par exemple : ```plaintext ESignLiveAPIObjects.Document document_updated = new ESignLiveAPIObjects.Document(); document_updated.name = 'updated document name'; document_updated.description = 'updated document description'; ``` Ensuite, utilisez la fonction ci-dessous pour mettre à jour les métadonnées du document en passant l'ID du paquet, l'ID du document et l'objet Document mis à jour. ```plaintext sdk.updateDocument(packageId, document.id, document_updated); ``` ### Suppression d'un document Pour supprimer un document, appelez la fonction deleteDocument avec la chaîne packageId et documentId : ```plaintext sdk.deleteDocument(packageId, document.id); ``` ### Résultats Après avoir exécuté votre code, si vous vous connectez à OneSpan Sign et naviguez vers votre transaction, vous pourrez vous connecter à votre compte OneSpan Sign et consulter les documents que vous venez d'ajouter.