gpt4 book ai didi

Python reportLab 鸭嘴兽 : bottom image

转载 作者:行者123 更新时间:2023-12-01 09:02:54 25 4
gpt4 key购买 nike

我正在使用 reportlab 库,但我对使用 SimpleDocTemplate 添加图像有疑问。

我有动态内容,但不知道它占用了多少空间。发生的情况是我想在页面底部添加一个 Logo (始终在同一位置)。我这样做的方法是将内容添加到列表中:例如[文本,间隔符,表格,间隔符, Logo ],然后构建它。 Logo 的位置取决于其他变量。

你能帮我完成这个行为吗?

我知道这可以使用绝对定位来完成(例如在 Canvas 类中使用drawImage),但我不知道如何将我的方式与此结合起来。

提前致谢

最佳答案

您很可能想将图像放在页脚中(更接近 axel_ande 的答案)。这样,图像将位于每个页面上的相同位置,但仅定义一次。

如果您想将图像放在页面底部,但放在页脚中,您可以尝试使用 TopPadder 包装对象:

from reportlab.platypus.doctemplate import SimpleDocTemplate
from reportlab.platypus.flowables import TopPadder
from reportlab.platypus import Table, Paragraph

from reportlab.lib.styles import getSampleStyleSheet
from reportlab.lib import colors

import numpy as np


document = SimpleDocTemplate('padding_test.pdf')

table = Table(np.random.rand(2,2).tolist(),
style=[('GRID', (0, 0), (-1, -1), 0.5, colors.black)])
styles = getSampleStyleSheet()
paragraph = Paragraph('Some paragraphs', style=styles['Normal'])

document.build([
paragraph,
TopPadder(table),
])

# This should generate a single pdf page with text at the top and a table at the bottom.

我在浏览the code时偶然发现了这一点,我能找到的唯一文档是 release notes 。在我的示例中,我简单地包装了一个表格,因此示例代码是独立的。

希望这有帮助!

关于Python reportLab 鸭嘴兽 : bottom image,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52322039/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com