Documentation

Générer un PDF à partir d'un modèle

Le point de terminaison de génération de PDF de notre API vous permet de créer dynamiquement des documents PDF basés sur des modèles prédéfinis que vous avez créés.

POST /api/templates/{templateId}/pdf

Headers

Authorization*

L'en-tête Authorization est utilisé pour authentifier la requête. Vous devez fournir une clé API valide au format Bearer {token}. Vous pouvez générer une clé API depuis la page Tokens API. Pour des instructions détaillées, consultez Authentification de l'API.

Accept Default: application/pdf

L'en-tête Accept est utilisé pour spécifier le format de la réponse. L'API prend en charge les formats suivants :

  • application/pdf - L'API répondra avec un fichier PDF dans le corps de la réponse.
  • application/json - L'API répondra avec un objet JSON contenant deux clés : status et data. La clé status contiendra le code de statut HTTP de la réponse, et data contient le fichier PDF encodé en base64.
Content-Type Default: application/json

L'en-tête Content-Type est utilisé pour spécifier le format de la charge utile de la requête. Il doit être application/json ou null,

URL parameters

templateId*

Le paramètre templateId dans l'URL est un paramètre obligatoire qui identifie le modèle PDF à utiliser pour générer le PDF. Vous pouvez trouver l'identifiant du modèle dans la page index des modèles.

Request body

data*

Le paramètre data est envoyé via la charge utile de la requête. Il doit contenir des paires clé-valeur représentant les données à remplacer dans le modèle. Les clés doivent correspondre aux espaces réservés que vous avez définis dans le modèle PDF.

output Default: pdf

Le paramètre output est facultatif et peut être utilisé pour spécifier le format de la réponse. L'API prend en charge deux formats de sortie : pdf et url. Par défaut, ce paramètre est défini sur pdf et l'API répondra avec le fichier PDF dans le corps de la réponse. Si le paramètre output est défini sur url, l'API répondra avec une URL vers le fichier PDF généré.

Veuillez noter que l'URL expire après 15 minutes et que le fichier PDF sera supprimé de nos serveurs.

Exemple de requête

Voici un exemple de requête POST vers le point de terminaison de génération de PDF. Dans cet exemple, nous utilisons l'outil en ligne de commande curl pour envoyer une requête POST à l'API.

curl -X POST "https://pdf-api.io/api/templates/{templateId}/pdf" \
-H "Content-Type: application/json" \
-H "Accept: application/pdf" \
-H "Authorization: Bearer {token}"
-d '{
    "data": {
        "name": "John Doe",
        "order_id": "ABC123",
        "total": "$ 120.00",
    }
}'

Lors de l'utilisation de tables dynamiques avec une ligne répétable, le "data" doit contenir un tableau d'objets, où chaque objet représente une ligne dans la table. Les clés des objets doivent correspondre aux espaces réservés dans la ligne de la table.

{
    "data": {
        "invoice_items": [
            { "name": "Item 1", "qty": "2", "price": "$ 120.00" },
            { "name": "Item 2", "qty": "1", "price": "$ 65.00" }
        ]
    }
}

Réponse

Contenu PDF

Le contenu de la réponse dépendra de la valeur de l'en-tête Accept dans la requête. Si l'en-tête Accept est défini sur application/pdf, l'API répondra avec des données binaires dans le corps de la réponse. Si l'en-tête Accept est défini sur application/json, l'API répondra avec un objet JSON contenant le fichier PDF encodé en tant que chaîne base64.

{
    "status": 200,
    "data": "CONTENT_OF_PDF_FILE"
}

URL du PDF

Si le paramètre output est défini sur url, l'API répondra avec un objet JSON contenant une URL vers le fichier PDF généré. Vous pouvez utiliser cette URL pour télécharger le fichier PDF.

{
    "status": 200,
    "url": "URL_TO_PDF_FILE"
}

 

Note
L'URL expirera après 15 minutes, et le fichier PDF sera supprimé de nos serveurs.

En cas d'erreurs pendant le processus de génération, des codes d'erreur appropriés et des messages seront fournis dans la réponse.