2015-05-01 76 views
-1

我试图在python中使用reportlab创建一个报告。reportlab TypeError:drawImage()至少需要4个参数(给出5个)

这里有问题前,相关线路:

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个参数。我错过了什么?

回答

1

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

尽管如此,五人似乎超过四人,并且表示至少需要四人,对吧?那么Emma有什么困难呢?看来这个错误信息是错误的(即,一个错误)。什么可能是真的抱怨是你没有指定要绘制的图像。这(一个文件名或一个ImageReader对象)应该是第一个参数。

0

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

相关问题