Jeśli znasz LaTex, możesz rozważyć pylatex
Jedną z zalet pylatexu jest łatwość kontrolowania jakości obrazu. Obrazy w pliku PDF będą tej samej jakości co oryginalne obrazy. Korzystając z reportlab, zauważyłem, że obrazy zostały automatycznie skompresowane, a jakość obrazu spadła.
Wadą pylatexu jest to, że ponieważ jest oparty na LaTex, może być trudno umieścić obrazy dokładnie tam, gdzie chcesz na stronie. Jednak odkryłem, że użycie argumentu position w klasie Figure, a czasem Subfigure, daje wystarczająco dobre wyniki.
Przykładowy kod do tworzenia pliku PDF z jednym obrazem:
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)
Oprócz instalacji pylatexu (pip install pylatex), należy zainstalować LaTex. W przypadku Ubuntu i innych systemów Debian, które możesz uruchomić sudo apt-get install texlive-full
. Jeśli używasz Windowsa, polecam MixTex
py