Gratuit et open source · MIT · Linux, Windows, macOS
Le remplaçant direct de wkhtmltopdf
wkhtmltopdf est archivé, sans nouvelle version depuis 2020. pdfkiln garde sa ligne de commande et convertit le HTML en PDF avec un Chromium à jour : votre code ne change pas.
Installer pdfkiln Le code sur GitHub
wkhtmltopdf --versionwkhtmltopdf 0.12.6 (with patched qt), pdfkiln 1.0.3, Chromium 156.0.8078.73
Points forts
- Même ligne de commande Les 122 options de wkhtmltopdf 0.12.6, avec ses valeurs par défaut, ses messages et ses codes de sortie.
- Même nombre de pages 32 modèles réels sur 32 (Odoo, ERPNext, Sylius, pandoc), et 99,1 % des mots sur la même page, sous Linux.
- Testé par les bibliothèques pdfkit, knp-snappy, phpwkhtmltopdf et wicked_pdf passent leurs propres suites de tests avec pdfkiln.
- Mis à jour Le dernier Chromium stable dans chaque version ; sous Debian et Ubuntu,
apt upgradel’apporte.
Fonctionnement
- Un programme, deux noms Appelé
wkhtmltopdf: la ligne de commande de wkhtmltopdf 0.12.6. Appelépdfkiln: sa propre interface, avec les réglages d’impression du CSS de la page. - Chromium dans sa sandbox Chaque conversion se fait sandbox active : lancez pdfkiln sous un utilisateur sans privilèges, pas en root.
- Un appel ou un serveur Un Chromium par appel, ou gardé ouvert par
pdfkiln servepour le volume.
Installer
Debian et Ubuntu
Debian 12 et 13, Ubuntu 22.04 et suivantes, amd64 et arm64. Dépôt APT signé : les correctifs de sécurité de Chromium arrivent avec apt upgrade. Remplace le paquet wkhtmltox.
curl -fsS https://apt.pdfkiln.org/pdfkiln-archive-keyring.asc | sudo tee /usr/share/keyrings/pdfkiln-archive-keyring.asc > /dev/null
printf 'Types: deb\nURIs: https://apt.pdfkiln.org\nSuites: stable\nComponents: main\nSigned-By: /usr/share/keyrings/pdfkiln-archive-keyring.asc\n' \
| sudo tee /etc/apt/sources.list.d/pdfkiln.sources
sudo apt update && sudo apt install pdfkiln
Windows
x64 ; ARM en émulation. Programme d’installation ou zip, depuis la dernière version, dans C:\Program Files\wkhtmltopdf, là où pdfkit et la plupart des guides le cherchent. Désinstallez wkhtmltopdf d’abord.
Windows Server : Expérience de bureau requise. Pas encore signés, d’où l’avertissement de SmartScreen : vérifiez le programme d’installation avec le SHA256SUMS de la version.
Docker
Image amd64 et arm64, sur Debian 13 slim, sous un utilisateur sans privilèges. À lancer avec seccomp.json : le profil par défaut de Docker, plus les espaces de noms de la sandbox de Chromium.
curl -fsSO https://raw.githubusercontent.com/Jamalofski/pdfkiln/main/docker/seccomp.json
docker run --rm -i --security-opt seccomp=seccomp.json ghcr.io/jamalofski/pdfkiln wkhtmltopdf - - < page.html > page.pdf
PHP (Composer)
PHP 7.4 ou plus récent. wkhtmltopdf et wkhtmltoimage dans vendor/bin ; le programme est téléchargé au premier usage, SHA-256 vérifié. Sur un serveur Linux, préférez le paquet Debian ou Docker, qui apportent les bibliothèques de Chromium.
composer require pdfkiln/pdfkiln
npm
Node.js 22.12 ou plus récent. Chromium est téléchargé au premier usage, SHA-256 vérifié.
npx @pdfkiln/pdfkiln wkhtmltopdf page.html page.pdf
npm install -g @pdfkiln/pdfkiln # pdfkiln, wkhtmltopdf and wkhtmltoimage
Archives Linux et macOS
Linux x64 et ARM64, macOS ARM64, depuis la dernière version : le programme, son Chromium, wkhtmltopdf et wkhtmltoimage. Sous Linux, ajoutez les bibliothèques système de Chromium ; pdfkiln nomme celles qui manquent. Sous Debian 13 et Ubuntu 24.04 :
sudo apt install libasound2t64 libatk-bridge2.0-0t64 libatk1.0-0t64 libatspi2.0-0t64 libdbus-1-3 libexpat1 libgbm1 \
libglib2.0-0t64 libnspr4 libnss3 libudev1 libx11-6 libxcb1 libxcomposite1 libxdamage1 libxext6 libxfixes3 \
libxkbcommon0 libxrandr2 fontconfig fonts-liberation
Sans rien installer
conv2pdf, notre service hébergé en France, convertit le HTML et les pages web en PDF avec pdfkiln, par API ou depuis n8n, Zapier et Make. Tarifs à part, et pas la ligne de commande de wkhtmltopdf.
Versions testées par l’intégration continue, avec sommes SHA-256 et attestations de provenance : gh attestation verify <fichier> --repo Jamalofski/pdfkiln.
Là où wkhtmltopdf ne s’installe plus : Ubuntu 24.04 et Debian 13, ARM64 et Apple Silicon, Docker.
Migrer en cinq minutes
Faites pointer la bibliothèque sur le wkhtmltopdf de pdfkiln, jamais sur pdfkiln, qui passe à sa propre interface. Le paquet Debian le place déjà dans le PATH.
- knp-snappy PHP
La bibliothèque PHP des bundles Symfony et de laravel-snappy.
- laravel-snappy PHP, Laravel
knp-snappy pour Laravel : deux lignes de
.env. - phpwkhtmltopdf PHP
La bibliothèque de mikehaertl : une option, ou rien.
- pdfkit Python
python-pdfkit : rien à changer s’il est dans le
PATH. - wicked_pdf Ruby on Rails
Retirez la gem
wkhtmltopdf-binary, réglezexe_path. - imgkit Python
Des captures avec le
wkhtmltoimagede pdfkiln. - Odoo ERP
Les rapports gardent leur nombre de pages ; rien à configurer.
- Frappe et ERPNext ERP
En-têtes et pieds de page HTML, avec leur JavaScript.
- Rotativa .NET
Rotativa.AspNetCore et IIS, sous Windows.
Sûr par défaut
Les protections de wkhtmltopdf restent, et pdfkiln ajoute les siennes.
- Fichiers locaux : aucun à part la page elle-même, sauf avec
--enable-local-file-accessou--allow <chemin>; ni..ni un lien symbolique ne contournent--allow. --kiln-block-private-network: aucune adresse de boucle locale, privée ou de lien local, métadonnées du cloud comprises, vérifiée après la résolution DNS. La réponse à CVE-2022-35583.--kiln-timeout: la conversion et Chromium s’arrêtent après 120 s par défaut.- Rien n’est partagé entre deux appels : un profil neuf, ou avec
pdfkiln serveun contexte de navigateur à lui, supprimé à la fin.
Mesuré, pas promis
Un appel complet sur la facture Odoo de deux pages du corpus, médiane, face au wkhtmltopdf 0.12.6 officiel :
| Système | Délai | wkhtmltopdf | pdfkiln |
|---|---|---|---|
| Ubuntu 24.04 | 200 ms | 0,52 s | 1,11 s |
| Ubuntu 24.04 | 1 000 ms, celui d’Odoo | 2,13 s | 1,14 s |
| PC Windows 11 | 200 ms | 1,36 s | 1,80 s |
| PC Windows 11 | 1 000 ms, celui d’Odoo | 2,91 s | 1,85 s |
wkhtmltopdf attend toujours tout le --javascript-delay ; pdfkiln s’arrête dès que la page ne peut plus changer. pdfkiln serve économise le démarrage de Chromium : 0,17 s par appel sous Ubuntu.
Ubuntu sur GitHub Actions, passage d’intégration continue du 24 octobre 2026 ; Windows 11 sur un PC à 20 threads ; node dist/bench/call.js --delay 200, puis sans --delay.
pdfkiln Pro · en préparation
Factur-X, PDF/A, garanties écrites ?
pdfkiln reste gratuit, sans limites. pdfkiln Pro ajoute PDF/A-3 et Factur-X depuis vos modèles HTML actuels, des mises à jour de Chromium testées sur vos modèles, et des délais de correction et de réponse écrits.
Voir pdfkiln Pro