Les pièces jointes PDF sont des fichiers externes pouvant être inclus dans un document PDF, prenant en charge divers formats tels que des images, des fichiers XML, des feuilles de calcul Excel, et plus encore. Ces pièces jointes intégrées enrichissent le document principal en apportant un contexte ou des ressources supplémentaires, permettant aux utilisateurs d’accéder à tous les fichiers pertinents en un seul endroit.
Avec l’API de DocuGenerate, il est possible d’ajouter une pièce jointe lors de l’appel du point de terminaison Generate Document en utilisant le paramètre attach. Le fichier peut être spécifié sous forme d’URL ou de data URI encodé en Base64. Ce paramètre s’applique uniquement si output_format est .pdf (ou une version PDF/A telle que .pdf/a-1b, .pdf/a-2b ou .pdf/a-3b).
Pour joindre un fichier depuis une URL, spécifiez le paramètre attach avec l’URL du fichier, par exemple https://www.w3schools.com/xml/note.xml :
curl -X 'POST' \
'https://api.docugenerate.com/v1/document' \
-H 'accept: application/json' \
-H 'Authorization: 491c000c5fad32ed7787005b0723ad55' \
-H 'Content-Type: multipart/form-data' \
-F 'template_id=7VYocxLnIupLU3YT4iLr' \
-F 'attach=https://www.w3schools.com/xml/note.xml' \
-F 'data={ "Company Name": "Acme Corp", "Invoice No": "INV-123456", "Street Address": "123 Main St", "City": "Springfield", "State": "IL", "Zip Code": "62701", "Invoice Date": "2025-02-26", "Phone": "(555) 123-4567", "Description": "Consulting services for Q1 2025", "Quantity": "10", "Amount": "150.00", "Total": "1500.00" }' \
-F 'output_format=.pdf'
Le nom du fichier joint sera automatiquement déterminé à partir de l’URL, dans ce cas note.xml. Vous pouvez télécharger une copie du PDF généré ici.

Pour joindre un fichier à l’aide d’un data URI encodé en Base64, vous pouvez spécifier le nom du fichier avec la propriété name. Voici un exemple avec la valeur encodée en Base64 du fichier note.xml :
data:text/xml;name=note.xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPG5vdGU+CiAgPHRvPlRvdmU8L3RvPgogIDxmcm9tPkphbmk8L2Zyb20+CiAgPGhlYWRpbmc+UmVtaW5kZXI8L2hlYWRpbmc+CiAgPGJvZHk+RG9uJ3QgZm9yZ2V0IG1lIHRoaXMgd2Vla2VuZCE8L2JvZHk+Cjwvbm90ZT4=
Voici à quoi ressemblerait l’appel API correspondant, avec le paramètre attach :
curl -X 'POST' \
'https://api.docugenerate.com/v1/document' \
-H 'accept: application/json' \
-H 'Authorization: 491c000c5fad32ed7787005b0723ad55' \
-H 'Content-Type: multipart/form-data' \
-F 'template_id=7VYocxLnIupLU3YT4iLr' \
-F 'attach="data:text/xml;name=note.xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPG5vdGU+CiAgPHRvPlRvdmU8L3RvPgogIDxmcm9tPkphbmk8L2Zyb20+CiAgPGhlYWRpbmc+UmVtaW5kZXI8L2hlYWRpbmc+CiAgPGJvZHk+RG9uJ3QgZm9yZ2V0IG1lIHRoaXMgd2Vla2VuZCE8L2JvZHk+Cjwvbm90ZT4="' \
-F 'data={ "Company Name": "Acme Corp", "Invoice No": "INV-123456", "Street Address": "123 Main St", "City": "Springfield", "State": "IL", "Zip Code": "62701", "Invoice Date": "2025-02-26", "Phone": "(555) 123-4567", "Description": "Consulting services for Q1 2025", "Quantity": "10", "Amount": "150.00", "Total": "1500.00" }' \
-F 'output_format=.pdf'
Si aucun nom de fichier n’est fourni dans le data URI, le fichier sera nommé par défaut attachment avec l’extension appropriée selon le type MIME. Par exemple, l’utilisation du data URI ci-dessous nommerait le fichier attachment.xml :
data:text/xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPG5vdGU+CiAgPHRvPlRvdmU8L3RvPgogIDxmcm9tPkphbmk8L2Zyb20+CiAgPGhlYWRpbmc+UmVtaW5kZXI8L2hlYWRpbmc+CiAgPGJvZHk+RG9uJ3QgZm9yZ2V0IG1lIHRoaXMgd2Vla2VuZCE8L2JvZHk+Cjwvbm90ZT4=
Le paramètre attach prend également en charge un tableau de fichiers, vous permettant de joindre plusieurs fichiers à un même PDF. Vous pouvez combiner des URL et des data URIs encodés en Base64 dans le même tableau.
Voici un exemple de jointure de plusieurs fichiers à l’aide d’un tableau d’URL :
curl -X 'POST' \
'https://api.docugenerate.com/v1/document' \
-H 'accept: application/json' \
-H 'Authorization: 491c000c5fad32ed7787005b0723ad55' \
-H 'Content-Type: multipart/form-data' \
-F 'template_id=7VYocxLnIupLU3YT4iLr' \
-F 'attach=["https://www.w3schools.com/xml/note.xml", "https://pdfobject.com/pdf/sample.pdf"]' \
-F 'data={ "Company Name": "Acme Corp", "Invoice No": "INV-123456", "Street Address": "123 Main St", "City": "Springfield", "State": "IL", "Zip Code": "62701", "Invoice Date": "2025-02-26", "Phone": "(555) 123-4567", "Description": "Consulting services for Q1 2025", "Quantity": "10", "Amount": "150.00", "Total": "1500.00" }' \
-F 'output_format=.pdf'
Le document PDF généré comporte deux pièces jointes, un fichier XML nommé note.xml et un fichier PDF nommé sample.pdf. Vous pouvez télécharger une copie du PDF généré ici.

Vous pouvez également combiner plusieurs URL et data URIs dans le même appel API :
curl -X 'POST' \
'https://api.docugenerate.com/v1/document' \
-H 'accept: application/json' \
-H 'Authorization: 491c000c5fad32ed7787005b0723ad55' \
-H 'Content-Type: multipart/form-data' \
-F 'template_id=7VYocxLnIupLU3YT4iLr' \
-F 'attach[]="data:text/xml;name=note.xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPG5vdGU+CiAgPHRvPlRvdmU8L3RvPgogIDxmcm9tPkphbmk8L2Zyb20+CiAgPGhlYWRpbmc+UmVtaW5kZXI8L2hlYWRpbmc+CiAgPGJvZHk+RG9uJ3QgZm9yZ2V0IG1lIHRoaXMgd2Vla2VuZCE8L2JvZHk+Cjwvbm90ZT4="' \
-F 'attach[]=https://pdfobject.com/pdf/sample.pdf' \
-F 'data={ "Company Name": "Acme Corp", "Invoice No": "INV-123456", "Street Address": "123 Main St", "City": "Springfield", "State": "IL", "Zip Code": "62701", "Invoice Date": "2025-02-26", "Phone": "(555) 123-4567", "Description": "Consulting services for Q1 2025", "Quantity": "10", "Amount": "150.00", "Total": "1500.00" }' \
-F 'output_format=.pdf'
Les fichiers seront joints au PDF dans l’ordre où ils apparaissent dans le tableau. Chaque fichier suit les mêmes conventions de nommage que les pièces jointes uniques : les URL déterminent automatiquement les noms de fichiers, tandis que les data URIs peuvent spécifier des noms personnalisés via la propriété name.
Si vous générez plusieurs documents en définissant single_file sur false, DocuGenerate créera un fichier .zip contenant tous les documents générés. Chaque document au sein du fichier .zip correspond à un élément de données distinct et conservera le format d’export choisi.
Dans ce cas, les fichiers spécifiés par le paramètre attach seront joints à chaque document généré. Cela garantit que le contenu supplémentaire est systématiquement inclus dans tous les fichiers générés.
Avec l’API de DocuGenerate, ajouter des pièces jointes aux PDF est simple et flexible, que vous utilisiez un seul fichier ou plusieurs fichiers, et que vous utilisiez des URL directes ou des data URIs encodés en Base64. Cette fonctionnalité vous permet d’inclure des fichiers supplémentaires, tels que des documents justificatifs ou des exports de données, directement dans vos PDF.