2015-05-01 116 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對象或文件名的第一個參數。

相關問題