reportlab TypeError:drawImage()至少需要4个参数(给定5个参数)

时间:2015-05-01 18:12:05

标签: python reportlab

我正在尝试使用python中的reportlab创建报告。

以下是问题出现之前的相关行:

from reportlab.pdfgen import canvas
from reportlab.lib.pagesizes import letter
from reportlab.lib.pagesizes import landscape

c = canvas.Canvas(pdf_file_name, pagesize=landscape(letter))

这是我的python脚本中的第53行:

c.drawImage(350, 50, width=None,height=None)

我收到以下错误:

Traceback (most recent call last):
File "report_test.py", line 59, in <module>
import_data(data_file)
File "report_test.py", line 29, in import_data
generate_certificate(email, agent_id, pdf_file_name)
File "report_test.py", line 53, in generate_certificate
c.drawImage(350, 50, width=None,height=None)
TypeError: drawImage() takes at least 4 arguments (5 given)

我只看到4个参数。我错过了什么?

2 个答案:

答案 0 :(得分:1)

传递给任何实例方法的第一个参数是实例本身,按约定称为self。在这种情况下,Canvas对象c作为第一个参数传递。这个加上你明确传递的四个参数,就会产生五个。

但是,似乎五个人超过四个,它说它至少需要四个,对吗?那么困扰是什么,艾玛?看来此错误消息是错误的(即错误)。可能真正抱怨的是你没有指定要绘制的图像。这个(文件名或ImageReader对象)应该是第一个参数。

答案 1 :(得分:0)

您错过了第一个参数,该参数应该是ImageReader个对象或文件名。