Guide · API REST

Convertir un DOCX en PDF en un appel d'API

Envoyez un fichier Word, recevez un PDF. XGenerate rend le document tel que Word le met en page : polices, tableaux, en-têtes, sauts de page. Le même appel remplit les champs de fusion à partir de JSON quand vous avez des données à ajouter.

Quand un convertisseur ne suffit pas

  • Les outils HTML vers PDF recomposent votre mise en page Word ; un contrat ou une facture doit ressembler à l'original.
  • Faire tourner Word sur un serveur pour imprimer des PDF est fragile, lent et non licencié pour l'automatisation.
  • Une API de conversion seule vous laisse l'étape des données ; le document a généralement besoin de valeurs d'abord.

La requête

Transport multipart : le fichier Word est la partie fichier, le format une simple valeur de formulaire. Sans partie fields, le document est rendu tel quel, les espaces réservés de fusion supprimés.

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

Depuis .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);

La réponse

L'appel multipart renvoie le PDF en octets bruts, avec Content-Type application/pdf et l'extension réécrite en .pdf. Le transport JSON renvoie filename, content, format et warnings, le PDF encodé en base64 dans content.

Le résultat

Première page de la facture de référence rendue : en-tête, bloc d'adresse, tableau des lignes et totaux
La facture de référence, rendue à partir d'un modèle Word avec des champs de fusion standard. Modèle, requête et PDF attendu : exemple publié

Ce que XGenerate ne fait pas

XGenerate rend les fichiers Word tels que Word les met en page. Il ne fait pas d'OCR sur des pages numérisées et ne reconvertit pas un PDF en Word. Il peut ajouter du texte et des images à un PDF existant, mais ce n'est pas un éditeur PDF généraliste.

Essayez-le sur votre propre modèle

Envoyez-nous un fichier Word que vous utilisez aujourd'hui. Nous le rendons avec vos données et vous renvoyons le PDF avec le modèle adapté, pour que votre évaluation ne dépende pas de nous.

Demander une démo

Guides associés