png images vers un pdf en python

j'ai une liste de .des images png. J'ai besoin de les convertir tous en un pdf, 9 images par page , mais pas de les placer l'un après l'autre verticalement, mais remplir toute la largeur, et seulement alors continuer à la rangée suivante. La quantité d'images peut être différente à chaque fois (12,... 15)

j'ai essayé fpdf

from fpdf import FPDF

list_of_images = [1.png, 2.png, ... 15.png]
w = 70
h = 60
pdf = FPDF(orientation = 'L')
for image in list_of_images:
    pdf.image(image, w=sizew, h=sizeh)
pdf.output("Memory_usage.pdf", "F")

et aussi wkhtmltopdf

template = Template('''<!doctype html>
<html>
<body>
        <div style="display: flex; flex-direction: row">
        {% for image in images %}
            <img src="{{ image }}" />
        {% endfor %}
        </div>
</body>
</html>''')
list_of_images = [1.png, 2.png, ... 15.png]
html = template.render(images=list_of_pict)
with open("my_new_file.html", "wb") as fh:
    fh.write(html)

p = subprocess.Popen(['wkhtmltopdf', '-', 'Memory_usage.pdf'], stdin=subprocess.PIPE, universal_newlines=True)
p.communicate(html)
p.wait()

mais les deux placent chaque image sous l'autre

3
demandé sur Yuliya 0000-00-00 00:00:00

1 réponses

il suffit de placer chaque image aux coordonnées requises en utilisant FPDF:

pdf.image(image, x=50, y=100, w=sizew, h=sizeh)

plus d'informations sur la documentation FPDF: image

1
répondu blueCat 2016-12-29 19:21:47