Carnet Wiki

pdf_version

Ce plugin permet de générer un PDF à partir d’une page HTML/CSS
Sa spécificité est d’utiliser un moteur de rendu de navigateur Web pour faire le travail.

Headless ?

La plupart des outils de génération de PDF depuis une page HTML utilisent des librairies reposant sur des langages comme PHP, Javascript, Python, etc.

On pourrait dire que ces librairies “réinventent la roue” puisque nos navigateurs savent déjà faire cela.

D’où l’idée d’utiliser le moteur de rendu d’un navigateur Web pour faire le travail.

Wkhtmltopdf

pdf_version utilise un outil appelé Wkhtmltopdf. Ce dernier prend un fichier HTML avec sa feuille de style CSS et renvoi la page PDF correspondante. Et il fait tout cela en utilisant WebKit, le moteur de rendu du navigateur Safari.

Installation et configuration

Après avoir installé le plugin, rendez-vous directement sur sa page de configuration pour choisir par quelle méthode vous voulez faire appel à wkhtmltopdf

  1. par exécution sur le serveur
  2. par une API http

Cette étape peut être bloquante pour la plupart des utilisateurs. Aussi voici quelques retours d’expérience.

En local sur Mac

  • aller sur https://wkhtmltopdf.org/downloads.html
  • télécharger l’installeur pour MacOS
  • installer Wkhtmltopdf
  • Revenir à votre site SPIP et aller dans la page de configuration du plugin
  • Choisir la méthode de génération “exec(’wkhtmltopdf’) sur le serveur”
  • Dans le champ “Chemin d’accès au binaire wkhtmltopdf” tapper ’wkhtmltopdf
  • Et c’est bon

En local sur PC

À venir…

N’hésitez pas à faire part de votre expérience à ce sujet dans les commentaires de cet article. Nous ne manquerons pas de les intégrer dans cette doc.

Générer un PDF

Prérequis

Avoir activé le fichier htaccess.txt qui se trouve à la racine de votre site.
Pour cela vous devez renommer ce fichier comme suit : .htaccess

Méthodologie

  1. avoir créé au moins un article et l’avoir publié.
  2. dans cet exemple on va utiliser le squelette article.html et lui ajouter la balise #URL_PDF_VERSION comme ceci
<a href="#URL_PDF_VERSION{article,1}">Voir mon PDF</a>

Rendez-vous sur la page publique de l’article #1 et cliquez sur le lien “Voir mon PDF”
Et voilààààà

Pour aller plus loin

La balise #URL_PDF_VERSION va chercher les squelettes dans le répertoire /pdf_version/pdf_version
Ce sont ces fichiers que vous pouvez surcharger.

Peetdu - Mise à jour :14 June 2022 at 11:00