Is het mogelijk om bijlagen toe te voegen aan PDF's?

Hulpcentrum

PDF-bijlagen verwijzen naar externe bestanden die kunnen worden opgenomen in een PDF-document, met ondersteuning voor verschillende formaten zoals afbeeldingen, XML-bestanden, Excel-spreadsheets en meer. Deze ingesloten bijlagen verrijken het hoofddocument door extra context of bronnen te bieden, waardoor gebruikers toegang hebben tot alle relevante bestanden op één locatie.

Met de API van DocuGenerate is het mogelijk om een bijlage toe te voegen bij het aanroepen van het eindpunt Generate Document met behulp van de parameter attach. Het bestand kan worden opgegeven als een URL of als een Base64-gecodeerde data-URI. Deze parameter is alleen van toepassing als output_format .pdf is (of een PDF/A-versie zoals .pdf/a-1b, .pdf/a-2b of .pdf/a-3b).

Een Bestand Bijvoegen via URL

Om een bestand vanaf een URL bij te voegen, geeft u de parameter attach op met de URL van het bestand, bijvoorbeeld 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'

De bestandsnaam van de bijlage wordt automatisch bepaald op basis van de URL, in dit geval note.xml. U kunt een kopie van het gegenereerde PDF hier downloaden.

PDF-factuur met XML-bijlage

Een Bestand Bijvoegen via Base64-Gecodeerde Data-URI

Om een bestand bij te voegen met een Base64-gecodeerde data-URI, kunt u de bestandsnaam opgeven met de eigenschap name. Hier is een voorbeeld met de Base64-gecodeerde waarde van het bestand note.xml:


data:text/xml;name=note.xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPG5vdGU+CiAgPHRvPlRvdmU8L3RvPgogIDxmcm9tPkphbmk8L2Zyb20+CiAgPGhlYWRpbmc+UmVtaW5kZXI8L2hlYWRpbmc+CiAgPGJvZHk+RG9uJ3QgZm9yZ2V0IG1lIHRoaXMgd2Vla2VuZCE8L2JvZHk+Cjwvbm90ZT4=

Zo ziet de bijbehorende API-aanroep eruit, met de parameter 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'

Als er geen bestandsnaam wordt opgegeven in de data-URI, krijgt het bestand standaard de naam attachment met de juiste extensie op basis van het MIME-type. Het gebruik van de onderstaande data-URI resulteert bijvoorbeeld in de bestandsnaam attachment.xml:


data:text/xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPG5vdGU+CiAgPHRvPlRvdmU8L3RvPgogIDxmcm9tPkphbmk8L2Zyb20+CiAgPGhlYWRpbmc+UmVtaW5kZXI8L2hlYWRpbmc+CiAgPGJvZHk+RG9uJ3QgZm9yZ2V0IG1lIHRoaXMgd2Vla2VuZCE8L2JvZHk+Cjwvbm90ZT4=

Meerdere Bestanden Bijvoegen

De parameter attach ondersteunt ook een array van bestanden, waarmee u meerdere bestanden aan één PDF kunt toevoegen. U kunt URL’s en Base64-gecodeerde data-URI’s mengen binnen dezelfde array.

Hier is een voorbeeld van het bijvoegen van meerdere bestanden met een array van URL’s:

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'

Het gegenereerde PDF-document heeft twee bijlagen, een XML-bestand genaamd note.xml en een PDF-bestand genaamd sample.pdf. U kunt een kopie van het gegenereerde PDF hier downloaden.

PDF-factuur met meerdere bijlagen, een XML-bestand en een ander PDF-document

U kunt ook meerdere URL’s en data-URI’s combineren in dezelfde API-aanroep:

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'

De bestanden worden aan de PDF toegevoegd in de volgorde waarin ze in de array voorkomen. Elk bestand volgt dezelfde naamgevingsconventies als bij een enkele bijlage - URL’s bepalen bestandsnamen automatisch, terwijl data-URI’s aangepaste namen kunnen opgeven met de eigenschap name.

Batchgewijze Documentgeneratie

Als u meerdere documenten genereert door single_file in te stellen op false, maakt DocuGenerate een .zip-bestand aan met alle gegenereerde documenten. Elk document in het .zip-bestand komt overeen met een apart gegevenselement en behoudt het door u gekozen exportformaat.

In dit geval worden de bestanden die zijn opgegeven met de parameter attach aan elk gegenereerd document toegevoegd. Dit zorgt ervoor dat aanvullende content consistent wordt opgenomen in alle gegenereerde bestanden.

Met de API van DocuGenerate is het eenvoudig en flexibel om bijlagen aan PDF’s toe te voegen, of u nu een enkel bestand of meerdere bestanden gebruikt, en of u nu directe URL’s of Base64-gecodeerde data-URI’s gebruikt. Met deze functie kunt u aanvullende bestanden, zoals ondersteunende documenten of data-exports, rechtstreeks in uw PDF’s opnemen.