diff --git a/HowtoWkhtmltopdf.md b/HowtoWkhtmltopdf.md index d4910214..58930e1d 100644 --- a/HowtoWkhtmltopdf.md +++ b/HowtoWkhtmltopdf.md @@ -1,20 +1,39 @@ -## HowtoWkhtmltopdf +--- +categories: web tool +title: Howto wkhtmltopdf +... -Le logiciel wkhtmltopdf permet de convertir des fichiers html en pdf. +* Documentation : -Il est disponible dans les dépôts officiels de Debian mais les dépendances impliquent un serveur X. +[wkhtmltopdf](https://wkhtmltopdf.org/) est un outil libre pour transformer un document HTML au format PDF. Il s'utilise en ligne de commande et ne nécessite pas de lancer un environnement graphique grâce à l'utilisation du moteur [Qt WebKit](https://wiki.qt.io/Qt_WebKit). ## Installation -Pour l'installer sans serveur X, sur un serveur par exemple, il faut utiliser le paquet .deb fournit sur le site [officiel](https://wkhtmltopdf.org/downloads.html). +wkhtmltopdf est disponible dans les dépôts officiels de Debian mais cela nécessite d'installer un serveur X. -Ce paquet est fournit avec des librairies statiques et ne nécessite pas le lancement d'un serveur X. +Nous préférons l'installer via les packages `.deb` fournis avec des librairies statiques sur le [site officiel](https://wkhtmltopdf.org/downloads.html) : ~~~ -# wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox_0.12.5-1.stretch_amd64.deb +# apt install ca-certificates fontconfig fontconfig-config fonts-dejavu-core libfontconfig1 libfontenc1 \ + libfreetype6 libjpeg62-turbo libpng16-16 libxfont1 libxrender1 openssl ucf x11-common xfonts-75dpi \ + xfonts-base xfonts-encodings xfonts-utils + +# wget --no-check-certificate https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox_0.12.5-1.stretch_amd64.deb # apt install wkhtmltox_0.12.5-1.stretch_amd64.deb ~~~ +> *Note* : Pour Debian 8 : +> +> ~~~ +> # apt install fontconfig fontconfig-config fonts-dejavu-core libexpat1 libfontconfig1 \ +> libfontenc1 \ libfreetype6 libjpeg62-turbo libpng12-0 libxfont1 libxrender1 ucf \ +> x11-common xfonts-75dpi xfonts-base xfonts-encodings xfonts-utils +> # wget https://downloads.wkhtmltopdf.org/0.12/0.12.5/wkhtmltox_0.12.5-1.jessie_amd64.deb +> # apt install wkhtmltox_0.12.5-1.jessie_amd64.deb +> ~~~ + + + ## Pixelization Si le rendu devient pixelisé (en général sur la font par défaut), remplir le fichier de conf "no-bitmaps" correspondant à celui pointé par "/etc/fonts/conf.avail/70-no-bitmaps.conf". @@ -37,3 +56,37 @@ Si le rendu devient pixelisé (en général sur la font par défaut), remplir le Ne pas oublier de rendre ce fichier en lecture pour tous. voir https://github.com/wkhtmltopdf/wkhtmltopdf/issues/2193#issuecomment-136962264%29 + +## wkhtmltopdf as a service + +Utilisation avec Node JS inspirée de + +~~~ +# su - foo +$ npm install yarn coffee-script forever bootprint bootprint-openapi +$ wget https://raw.githubusercontent.com/traum-ferienwohnungen/docker-wkhtmltopdf-aas/master/swagger.yaml +$ ./node_modules/.bin/bootprint openapi swagger.yaml documentation +$ wget https://raw.githubusercontent.com/traum-ferienwohnungen/docker-wkhtmltopdf-aas/master/package.json +$ wget https://raw.githubusercontent.com/traum-ferienwohnungen/docker-wkhtmltopdf-aas/master/app.coffee +$ ./node_modules/.bin/yarn install +$ ./node_modules/.bin/coffee --version +$ npm start +~~~ + +Script de lancement : + +~~~ +export USER='foo' +export PASS='PASSWORD' +export PAYLOAD_LIMIT='200mb' +npm start +~~~ + +Utilisation : + +~~~ +$ GET http://foo:PASSWORD@localhost:5555/metrics +$ GET http://foo:PASSWORD@localhost:5555/healthcheck +$ GET http://foo:PASSWORD@localhost:5555/status +~~~ +