Si vous êtes familier avec LaTex, vous voudrez peut-être envisager pylatex
L'un des avantages du pylatex est qu'il est facile de contrôler la qualité de l'image. Les images de votre pdf seront de la même qualité que les images originales. Lors de l'utilisation de reportlab, j'ai constaté que les images étaient automatiquement compressées et que la qualité de l'image était réduite.
L'inconvénient de pylatex est que, comme il est basé sur LaTex, il peut être difficile de placer les images exactement où vous le souhaitez sur la page. Cependant, j'ai trouvé que l'utilisation de l'argument position dans la classe Figure, et parfois Subfigure, donne des résultats assez bons.
Exemple de code pour créer un pdf avec une seule image:
from pylatex import Document, Figure
doc = Document(documentclass="article")
with doc.create(Figure(position='p')) as fig:
fig.add_image('Lenna.png')
doc.generate_pdf('test', compiler='latexmk', compiler_args=["-pdf", "-pdflatex=pdflatex"], clean_tex=True)
En plus d'installer pylatex (pip install pylatex), vous devez installer LaTex. Pour Ubuntu et d'autres systèmes Debian, vous pouvez exécuter sudo apt-get install texlive-full
. Si vous utilisez Windows, je recommanderais MixTex
py
;-)