reportlab TypeError: drawImage() takes at least 4 arguments (5 given)

reportlab TypeError: drawImage() takes at least 4 arguments (5 given)

我正在尝试使用 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 个参数。我错过了什么?

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

不过,好像是五比四多,说至少要四对吧?那么问题是什么,艾玛?看来此错误消息是错误的(即错误)。可能 really 抱怨的是你没有指定要绘制的图像。这(文件名或 ImageReader 对象)应该是第一个参数。

您缺少第一个参数,它应该是 ImageReader 对象或文件名。