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 via Authorization: Bearer. Voir Authentification.
  • Format de requête : Tous les endpoints acceptent du multipart/form-data avec le document dans le champ file, ainsi que les champs optionnels output_filename, direct_download et pdf_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éfinissez direct_download=false pour recevoir à la place des métadonnées JSON avec presigned_url, object_key, filename, file_size et conversion_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 que grayscale. Voir Tâches synchrones et asynchrones.
  • Erreurs et limites : Les endpoints partagent la même sémantique d'erreur : 400 pour un type de fichier incorrect ou une conversion échouée, 401 pour des identifiants manquants/invalides, 402 lorsque le quota mensuel d'ops ou la limite de stockage est atteint, et 413 lorsque 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.