info sur wkhtmltopdf
This commit is contained in:
parent
32a66d3b09
commit
01701f4f56
|
@ -1,20 +1,39 @@
|
|||
## HowtoWkhtmltopdf
|
||||
---
|
||||
categories: web tool
|
||||
title: Howto wkhtmltopdf
|
||||
...
|
||||
|
||||
Le logiciel wkhtmltopdf permet de convertir des fichiers html en pdf.
|
||||
* Documentation : <https://wkhtmltopdf.org/usage/wkhtmltopdf.txt>
|
||||
|
||||
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 <https://github.com/traum-ferienwohnungen/docker-wkhtmltopdf-aas/blob/master/Dockerfile>
|
||||
|
||||
~~~
|
||||
# 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
|
||||
~~~
|
||||
|
||||
|
|
Loading…
Reference in a new issue