Leitfaden · REST-API

DOCX mit einem API-Aufruf zu PDF konvertieren

Senden Sie eine Word-Datei, erhalten Sie ein PDF. XGenerate rendert das Dokument so, wie Word es setzt: Schriften, Tabellen, Kopfzeilen, Seitenumbrüche. Derselbe Aufruf befüllt Seriendruckfelder aus JSON, wenn Sie Daten mitgeben.

Wenn ein Konverter nicht reicht

  • HTML-zu-PDF-Werkzeuge setzen Ihr Word-Layout neu; ein Vertrag oder eine Rechnung muss aussehen wie das Original.
  • Word auf einem Server für den PDF-Druck ist fragil, langsam und für Automatisierung nicht lizenziert.
  • Eine reine Konvertierungs-API überlässt Ihnen den Datenschritt; meist müssen zuerst Werte ins Dokument.

Die Anfrage

Multipart-Transport: die Word-Datei ist der Datei-Part, das Format ein einfacher Formularwert. Ohne Fields-Part wird das Dokument so gerendert, wie es ist; Seriendruck-Platzhalter werden entfernt.

TOKEN=$(curl -sS https://auth.xgenerate.io/realms/xgenerate/protocol/openid-connect/token \
  -d grant_type=client_credentials \
  -d client_id="$XGENERATE_CLIENT_ID" \
  -d client_secret="$XGENERATE_CLIENT_SECRET" | jq -r .access_token)

# No fields part: the Word file is rendered as it is, placeholders removed.
curl -sS https://api.xgenerate.io/v2/documents/generate \
  -H "Authorization: Bearer $TOKEN" \
  -F "file=@contract.docx" \
  -F "format=PDF" \
  -o contract.pdf

Aus .NET

using System.Net.Http.Json;

using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization = new("Bearer", token);

// JSON transport: the template travels base64-encoded, the PDF comes back the same way.
var request = new
{
    filename = "contract.docx",
    content = Convert.ToBase64String(await File.ReadAllBytesAsync("contract.docx")),
    format = "PDF"
};
var response = await http.PostAsJsonAsync(
    "https://api.xgenerate.io/v2/documents/generate", request);
response.EnsureSuccessStatusCode();

var result = await response.Content.ReadFromJsonAsync<GenerateResult>();
await File.WriteAllBytesAsync(result!.Filename, Convert.FromBase64String(result.Content));

record GenerateResult(string Filename, string Content, string Format);

Die Antwort

Der Multipart-Aufruf streamt das PDF als Rohbytes zurück, mit Content-Type application/pdf und der Dateiendung .pdf. Der JSON-Transport liefert filename, content, format und warnings, das PDF base64-codiert in content.

Das Ergebnis

Erste Seite der gerenderten Referenzrechnung: Briefkopf, Adressblock, Positionstabelle und Summen
Die Referenzrechnung, gerendert aus einer Word-Vorlage mit Standard-Seriendruckfeldern. Vorlage, Anfrage und erwartetes PDF: bereitgestelltes Beispiel

Was XGenerate nicht tut

XGenerate rendert Word-Dateien so, wie Word sie setzt. Es führt keine OCR auf gescannten Seiten durch und wandelt kein PDF zurück in Word. Es kann Text und Bilder auf bestehende PDFs aufbringen, ist aber kein allgemeiner PDF-Editor.

Testen Sie es mit Ihrer eigenen Vorlage

Schicken Sie uns eine Word-Datei, die Sie heute verwenden. Wir rendern sie mit Ihren Daten und senden das PDF zusammen mit der angepassten Vorlage zurück — Ihre Evaluation muss nicht auf uns warten.

Demo anfragen

Verwandte Leitfäden