API Document vers PDF#
Les endpoints Document vers PDF convertissent en PDF haute qualité, via une seule API REST, des fichiers bureautiques et documentaires : Microsoft Word, Excel et PowerPoint, Apple iWork Pages et Numbers, les formats OpenDocument, ainsi que HTML et Markdown. Chaque endpoint accepte un envoi multipart/form-data et effectue la conversion de façon synchrone, en renvoyant par défaut les octets bruts du PDF ou des métadonnées JSON avec une URL de téléchargement présignée. Les formats Office et iWork sont rendus côté serveur par LibreOffice en conservant la mise en forme, les polices et la mise en page d'origine du document, tandis que HTML et Markdown sont rendus avec WeasyPrint et prennent en charge des tailles de page, marges, en-têtes et pieds de page personnalisés via pdf_options.
Conversions prises en charge#
| Conversion | Endpoint | Description |
|---|---|---|
| N'importe quoi vers PDF | POST /v1/convert/anything-to-pdf |
Endpoint fourre-tout : accepte 36 extensions de fichier (Office, iWork, OpenDocument, RTF, CSV, HTML, Markdown, texte, EPUB, images, SVG, PDF) et renvoie toujours un PDF. |
| N'importe quoi vers Markdown | POST /v1/convert/anything-to-markdown |
Endpoint fourre-tout : accepte 22 extensions et renvoie toujours un seul fichier Markdown UTF-8. Pas d'OCR, donc une image renvoie 400. |
| HTML vers PDF | POST /v1/convert/html-to-pdf |
Convertit les fichiers .html ou .htm en PDF avec WeasyPrint ; taille de page, marges, orientation, en-têtes et pieds de page se règlent via pdf_options. |
| Markdown vers PDF | POST /v1/convert/markdown-to-pdf |
Convertit les fichiers .md ou .markdown en PDF mis en forme, avec tableaux, blocs de code avec coloration syntaxique et une table des matières [TOC] optionnelle. |
| Word vers PDF | POST /v1/convert/doc-to-pdf |
Convertit les documents Microsoft Word .doc et .docx en PDF avec LibreOffice, en conservant les polices, la mise en forme et la mise en page. |
| Excel vers PDF | POST /v1/convert/excel-to-pdf |
Convertit les classeurs Microsoft Excel .xlsx et .xls en PDF grâce au rendu haute fidélité de LibreOffice. |
| PowerPoint vers PDF | POST /v1/convert/ppt-to-pdf |
Convertit les présentations Microsoft PowerPoint .ppt et .pptx en PDF en conservant la mise en forme des diapositives et les polices. |
| Pages vers PDF | POST /v1/convert/pages-to-pdf |
Convertit les documents Apple iWork Pages .pages en PDF grâce à un rendu LibreOffice côté serveur. |
| Numbers vers PDF | POST /v1/convert/numbers-to-pdf |
Convertit les classeurs Apple iWork Numbers .numbers en PDF en conservant la mise en forme et la mise en page. |
| ODT vers PDF | POST /v1/convert/odt-to-pdf |
Convertit en PDF les fichiers OpenDocument Text .odt, le format natif de LibreOffice/OpenOffice Writer. |
| ODS vers PDF | POST /v1/convert/ods-to-pdf |
Convertit les fichiers OpenDocument Spreadsheet .ods issus de LibreOffice ou OpenOffice Calc en PDF. |
| ODP vers PDF | POST /v1/convert/odp-to-pdf |
Convertit les fichiers OpenDocument Presentation .odp issus de LibreOffice ou OpenOffice Impress en PDF. |
| OTS vers PDF | POST /v1/convert/ots-to-pdf |
Convertit les fichiers modèles OpenDocument Spreadsheet Template .ots en PDF avec un rendu LibreOffice. |
Conventions communes#
- Authentification : Chaque endpoint nécessite soit une clé API privée via l'en-tête
X-API-Key, soit un JWT issu d'une clé publique viaAuthorization: Bearer. Voir Authentification. - Format de requête : Tous les endpoints acceptent du
multipart/form-dataavec le document dans le champfile, ainsi que les champs optionnelsoutput_filename,direct_downloadetpdf_options. Voir Tâches synchrones et asynchrones. - Réponses synchrones : Les conversions s'exécutent de façon synchrone et renvoient par défaut les octets bruts du PDF (
application/pdf) ; définissezdirect_download=falsepour recevoir à la place des métadonnées JSON avecpresigned_url,object_key,filename,file_sizeetconversion_time_seconds. - Options PDF : HTML et Markdown (rendus avec WeasyPrint) prennent en charge l'intégralité de
pdf_options, y compris la taille de page, les marges, l'orientation, les en-têtes et les pieds de page ; les formats bureautiques reposant sur LibreOffice reprennent la mise en page du document source et ne prennent en charge quegrayscale. Voir Tâches synchrones et asynchrones. - Erreurs et limites : Les endpoints partagent la même sémantique d'erreur :
400pour un type de fichier incorrect ou une conversion échouée,401pour des identifiants manquants/invalides,402lorsque le quota mensuel d'ops ou la limite de stockage est atteint, et413lorsque le fichier dépasse la limite de taille du plan. Voir Codes d'erreur.
Questions fréquentes#
Quels formats de documents puis-je convertir en PDF avec l'API ?#
Onze formats d'entrée sont pris en charge : HTML (.html, .htm), Markdown (.md, .markdown), Word (.doc, .docx), Excel (.xlsx, .xls), PowerPoint (.ppt, .pptx), Apple Pages (.pages), Apple Numbers (.numbers), et les formats OpenDocument .odt, .ods, .odp et .ots. Chacun dispose de son propre endpoint dédié POST /v1/convert/*.
Puis-je contrôler la taille de page, les marges, les en-têtes et les pieds de page du PDF généré ?#
Uniquement sur les endpoints rendus avec WeasyPrint, à savoir HTML vers PDF et Markdown vers PDF. Sur ceux-ci, pdf_options accepte page_size, une largeur/hauteur personnalisée en millimètres, orientation, margins, ainsi que header/footer avec des variables de gabarit comme {{page}} et {{total_pages}}. Les endpoints bureautiques reposant sur LibreOffice conservent la mise en page propre au document source et ne prennent en charge que l'option grayscale.
Comment obtenir une URL de téléchargement plutôt que les octets bruts du PDF ?#
Définissez direct_download=false sur n'importe quel endpoint. Au lieu du corps PDF, la réponse est constituée de métadonnées JSON contenant une presigned_url pour télécharger le fichier, ainsi que object_key, filename, file_size et conversion_time_seconds.