Générer un PDF

Le problème exposé dans ce sujet a été résolu.

Salut à tous ! Désolé d’avance si ce n’est pas le bon endroit où poster ça, je voyais pas mieux…

Pour mon job, je produis des graphiques en Python avec matplotlib, et j’aimerais automatiquement les inclure dans un pdf pour directement produire un rapport pour le client. (Les graphiques auront toujours la même dimension au passage).

J’aimerais bien un design de rapport assez joli.

Pour l’instant, les différentes solutions que j’ai retenu / un peu implémenté :

  • (solution actuelle pour le dev) un fichier .org (de org-mode d’Emacs) avec des liens vers les images, et un export automatique en latex, puis pdf avec org-export-dispatch et pdflatex. C’est fonctionnel, mais je vois mal installer emacs juste pour ça en production, ça fait un peu bricolage et le design est vraiment moche (je peux modifier la façon dont le latex est généré, mais je suis pas sûr que Latex soit le meilleur outil pour avoir un design un peu moderne)

  • J’ai aussi essayé de décompresser un fichier ODT, de remplacer les images et de le zip à nouveau, mais il doit y avoir un hash ou similaire puisque LibreOffice me dis qu’il est corrompu

  • Un langage de balisage léger (Markdown, Org …) puis une conversion avec Pandoc ou autre ? ça pourrait être une solution, mais je sais pas dans quelle mesure on peut modifier le style pour faire un truc joli

  • du HTML / CSS pour avoir un maximum de customisation niveau design, et encore une conversion ? Je sais pas du tout si ça marche bien, et mes connaissance là dedans sont assez limités …

  • ReportLab pour du Python ? Je connais pas du tout, ça a l’air vachement complet, et jsp si je peux utiliser la version open source à des fins commerciales

Est-ce que vous auriez des idées / conseils à me donner là dessus ?

J’ai eu à résoudre le même soucis (le soucis du design en moins). J’avais fini par une solution autour de Latex :

  • Génération des images (en vectoriel —, par exemple svg) par matplotlib
  • Remplissage d’un template Latex préalablement préparé via du code python. C’est le template qui contient le design.
  • Appel à pdflatex via python (avec subprocess).
+1 -0

Bon finalement je pense avoir trouvé une meilleure approche à ce problème.

En y pensant un peu plus, il faudra sûrement qu’on modifie un peu ces rapports à chaque fois, donc pas besoin d’une génération automatique complète.

Et j’ai découvert qu’en insérant une image comme lien dans LibreOffice, elle était automatiquement modifiée à chaque changement sur le disque. Donc si jamais je veux quand même une génération full auto, un truc à la Gotenberg / uniconv / Pandoc fera sûrement l’affaire si ça gère correctement les images insérées comme lien

Du coup c’est bien plus simple comme ça. (Retoucher à Latex pour de la mise en forme me donnait déjà des sueurs froides :lol: )

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte