有没有办法使用platypus动态地将图像合并到reportlab中的框架?

时间:2015-01-10 01:03:22

标签: python reportlab platypus

我正在使用reportlab生成一些pdf。我需要附加一些图片。旧脚本依赖于一个已弃用的库来将这些图像的pdf版本添加到新的pdf中,但我想我应该可以将它们添加为像这样的png:

doc = SimpleDocTemplate("GBD Country Report - " + country_name + ".pdf",
                            pagesize=letter,
                            rightMargin=0.25 * inch, leftMargin=0.25 * inch,
                            topMargin=0.75 * inch, bottomMargin=0.25 * inch)
 elements = []
 elements.append(Image(data_dir + 'figure1.png'), width=1, height=1)
 doc.build(elements)

但是,当我这样做时,我收到此错误:reportlab.platypus.doctemplate.LayoutError: Flowable <Image at 0x10bd6ae10 frame=cod filename=.../figure1.png>(28.346456692913385 x 612.0) too large on page 1 in frame 'cod'(475.2 x 90.0*) of template 'FirstPage'。我已经尝试多次添加更改宽度和高度args,但它没有帮助。有没有什么办法可以动态修改图表图像的宽度和高度,使它们适合框架/模板?

1 个答案:

答案 0 :(得分:-2)

只需将您的宽度和高度乘以您想要的单位,即(宽度= 1 *英寸,高度= 1 *英寸)。

测量单位可以带入: 来自reportlab.lib.units import inch。

祝你好运!