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

标签 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")

还有 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()

但是他们都把每张图片都放在了另一张下面

最佳答案

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

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

有关 FPDF 文档的更多信息:image

关于python - 在python中将png图像转换为一个pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40906463/

相关文章:

python - 测试 python 备忘录装饰器

php - 如何在 Codeigniter 中打印预设报告并另存为 PDF

c++ - 下一个 block 的偏移量不正确(DEFLATE/PNG)?

jquery - IE7 和 "jaggies"围绕分层 PNG(使用 jQuery)

PYTHON:打开 csv 文件并查找列中的最大数字以及与其关联的名称的最简单方法?

python - 使用hadoop流运行类似(NLTK)的外部python lib

python - pycharm中的行分隔符或分隔符

pdf - 如何从批处理文件同步打开 PDF 文件

c# - 如何以编程方式使 pdf 不可打印?

php - 使用 GD/PHP 调整大小时优化 PNG - 如何确定调色板?