wkhtmltopdf aujourd’hui · Installation
wkhtmltopdf sous Ubuntu 24.04 et Debian 13
Ubuntu 24.04 et Debian 13 n’ont aucun paquet officiel de wkhtmltopdf : les derniers, 0.12.6.1-3 du 22 mai 2023, s’arrêtent à Ubuntu 22.04 et Debian 12, et le dépôt de paquets est archivé. pdfkiln y installe /usr/bin/wkhtmltopdf, avec un Chromium à jour.
Ce que proposent les distributions
- Ubuntu 24.04 a son propre paquet (0.12.6-2build2, universe), compilé sur le Qt de la distribution, sans les correctifs des versions de wkhtmltopdf. wkhtmltopdf liste ce qui en a besoin : en-têtes et pieds de page, table des matières, liens et plan dans le PDF, plusieurs documents HTML dans un même PDF, fonctionnement sans serveur X11. Sa ligne de version n’a pas non plus
(with patched qt), que Frappe lit avant d’utiliser les en-têtes et pieds de page HTML. - Debian 13 n’en a aucun ; Debian 12 avait la 0.12.6-2.
Installer pdfkiln
Dépôt APT signé pour Debian 12 et 13 et Ubuntu 22.04 et suivantes, amd64 et arm64, testé sous Ubuntu 24.04 et Debian 13. Il installe /usr/bin/wkhtmltopdf et /usr/bin/pdfkiln à la place du paquet wkhtmltox, avec un profil AppArmor pour que la sandbox de Chromium fonctionne sous Ubuntu 24.04.
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
Les correctifs de sécurité de Chromium arrivent ensuite avec apt upgrade.
Vérifier
wkhtmltopdf --version
# wkhtmltopdf 0.12.6 (with patched qt), pdfkiln 1.0.3, Chromium 156.0.8078.73
La réponse commence comme celle de wkhtmltopdf 0.12.6, (with patched qt) compris : les bibliothèques qui lisent la version continuent de fonctionner.
Ensuite
Votre bibliothèque appelle wkhtmltopdf : son guide de migration dit comment la brancher sur pdfkiln. Odoo et Frappe le trouvent seuls dans le PATH.