Impressions, sorties PDF

Bonjour,

Mon aventure avec dokos continue, et je suis tombé sur quelques problèmes:

J’ai configuré des modèles d’impression devis / commandes / livraison et facture basés sur le modèle standard.
J’ai ajouté une image et un peu de HTML comme entêtes.

Lorsque j’affiche une facture via le bouton imprimer, tout fonctionne correctement.
Par contre, lorsque je tente d’appuyer sur le bouton PDF, cela génère la facture, sans image, et probablement sans CSS vu les que l’ensemble des alignements sautent.

J’utilise le module wkhtmltox 0.12.6 sur mon serveur.
Est-ce que je dois faire quelque chose de particulier pour que la sortie PDF ressemble à celle d’une impression à l’écran ?

Merci.

Bonjour @ozy,

Il faut bien utiliser la version “with patched qt”

Est-ce que le problème ne viendrait pas de SELinux ?

Bonjour,

J’avoue que j’avais fait quelques recherches avant de poster.

  • Version de wkhtmltopdf: wkhtmltopdf 0.12.6 (with patched qt)
  • SELinux désactivé pour le test
  • Firewalld désactivé pour le test
  • Nom d’hôte du site joignable depuis le serveur
  • Config docli correcte via docli --site [nomdusite] set-config hostname ["nom d'hote"]

Je continue de chercher.

Trouvé…
J’ai tenté en ligne de commande wkhtmltopdf http://url-dokos test.pdf et j’ai eu le plaisir de trouver un fichier test.pdf contenant le site par défaut de nginx plutôt que celui dokos.
Après vérification des logs nginx, effectivement la génération de PDF à partir de dokos tentait le chargement des fichiers assets depuis le site par défaut plutôt que celui de dokos.

Quelques recherches plus tard, j’ai remarqué que curl http://mon_url_dokos renvoyait vers le site par défaut. Toujours en recherchant, j’ai trouvé que:
curl -4 http://mon_url_dokos renvoie bien vers le site dokos
curl -6 http://mon_url_dokos renvoie vers lie site par défaut de nginx

IPv6 est utilisé par défaut lorsque cela est possible. Donc deux solutions:

  • Reconfigurer /etc/hosts pour supprimer l’entrée IPv6 qui resoud le domaine dokos
  • Ajouter la directive listen [::]:80; dans le fichier de configuration nginx de dokos, pour obliger nginx a accepter les requêtes IPv6 sur le site dokos.

Etant donné que IPv6 devrait être configuré partout, je ferais une PR pour l’activer par défaut :wink:

Merci, et désolé pour le bruit sur le forum.

1 Like