python 中将 png 图像转换为一个 pdf

Yul*_*iya 9 python pdf png fpdf

我有一个 .png 图像列表。我需要将它们全部转换为一个pdf,每页9张图像,但不是将它们垂直放置一个又一个,而是填充所有宽度,然后才继续到下一行。每次的图片数量可以不同(12,... 15)

我试过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")
Run Code Online (Sandbox Code Playgroud)

还有 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()
Run Code Online (Sandbox Code Playgroud)

但他们都将每张图片放在另一张图片下面

blu*_*Cat 9

只需使用 FPDF 将每个图像放置在所需的坐标处:

pdf.image(image, x=50, y=100, w=sizew, h=sizeh)
Run Code Online (Sandbox Code Playgroud)

有关 FPDF 文档的更多信息:图片