PDF-Anhänge sind externe Dateien, die in ein PDF-Dokument eingebettet werden können und verschiedene Formate wie Bilder, XML-Dateien, Excel-Tabellen und mehr unterstützen. Diese eingebetteten Anhänge ergänzen das Hauptdokument durch zusätzlichen Kontext oder Ressourcen und ermöglichen es Nutzern, alle relevanten Dateien an einem einzigen Ort zu finden.
Mit der DocuGenerate-API ist es möglich, beim Aufruf des Dokument generieren-Endpunkts einen Anhang mit dem attach-Parameter hinzuzufügen. Die Datei kann als URL oder als Base64-kodierter Data-URI angegeben werden. Dieser Parameter gilt nur, wenn output_format .pdf ist (oder eine PDF/A-Version wie .pdf/a-1b, .pdf/a-2b oder .pdf/a-3b).
Um eine Datei von einer URL anzuhängen, geben Sie den attach-Parameter mit der URL der Datei an, zum Beispiel 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'
Der Dateiname des Anhangs wird automatisch aus der URL ermittelt, in diesem Fall note.xml. Sie können eine Kopie des generierten PDFs hier herunterladen.

Um eine Datei mit einem Base64-kodierten Data-URI anzuhängen, können Sie den Dateinamen mit der name-Eigenschaft angeben. Hier ist ein Beispiel mit dem Base64-kodierten Wert der note.xml-Datei:
data:text/xml;name=note.xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPG5vdGU+CiAgPHRvPlRvdmU8L3RvPgogIDxmcm9tPkphbmk8L2Zyb20+CiAgPGhlYWRpbmc+UmVtaW5kZXI8L2hlYWRpbmc+CiAgPGJvZHk+RG9uJ3QgZm9yZ2V0IG1lIHRoaXMgd2Vla2VuZCE8L2JvZHk+Cjwvbm90ZT4=
So würde der entsprechende API-Aufruf mit dem attach-Parameter aussehen:
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'
Wenn im Data-URI kein Dateiname angegeben ist, wird die Datei standardmäßig als attachment mit der entsprechenden Erweiterung basierend auf dem MIME-Typ benannt. Die Verwendung des folgenden Data-URIs würde beispielsweise die Datei attachment.xml benennen:
data:text/xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPG5vdGU+CiAgPHRvPlRvdmU8L3RvPgogIDxmcm9tPkphbmk8L2Zyb20+CiAgPGhlYWRpbmc+UmVtaW5kZXI8L2hlYWRpbmc+CiAgPGJvZHk+RG9uJ3QgZm9yZ2V0IG1lIHRoaXMgd2Vla2VuZCE8L2JvZHk+Cjwvbm90ZT4=
Der attach-Parameter unterstützt auch ein Array von Dateien, mit dem Sie mehrere Dateien an ein einzelnes PDF anhängen können. Sie können URLs und Base64-kodierte Data-URIs im selben Array mischen.
Hier ist ein Beispiel für das Anhängen mehrerer Dateien mit einem Array von URLs:
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'
Das generierte PDF-Dokument hat zwei Anhänge, eine XML-Datei namens note.xml und eine PDF-Datei namens sample.pdf. Sie können eine Kopie des generierten PDFs hier herunterladen.

Sie können auch mehrere URLs und Data-URIs im selben API-Aufruf kombinieren:
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'
Die Dateien werden in der Reihenfolge an das PDF angehängt, in der sie im Array erscheinen. Für jede Datei gelten dieselben Benennungskonventionen wie bei einzelnen Dateianhängen – URLs bestimmen Dateinamen automatisch, während Data-URIs benutzerdefinierte Namen über die name-Eigenschaft angeben können.
Wenn Sie mehrere Dokumente generieren, indem Sie single_file auf false setzen, erstellt DocuGenerate eine .zip-Datei, die alle generierten Dokumente enthält. Jedes Dokument in der .zip-Datei entspricht einem separaten Datenelement und behält das gewählte Exportformat bei.
In diesem Fall werden die durch den attach-Parameter angegebenen Dateien jedem generierten Dokument beigefügt. Dadurch wird sichergestellt, dass ergänzende Inhalte konsistent in allen generierten Dateien enthalten sind.
Mit der DocuGenerate-API ist das Hinzufügen von Anhängen zu PDFs einfach und flexibel, egal ob Sie eine einzelne Datei oder mehrere Dateien verwenden und ob Sie direkte URLs oder Base64-kodierte Data-URIs nutzen. Diese Funktion ermöglicht es Ihnen, zusätzliche Dateien, wie unterstützende Dokumente oder Datenexporte, direkt in Ihre PDFs einzubinden.