Я действительно надеюсь, что я просто тупой ... пальцы скрещены, это легко исправить!(Я новичок в лаборатории отчетов)
Я определяю документ с помощью:
doc = SimpleDocTemplate("hello.pdf",pagesize=A4,
rightMargin=50,leftMargin=50,
topMargin=50,bottomMargin=50)
Затем я хочу кое-что сделать с холстом:
def basicInfoTopRight(infostrs,c,role):
xpos = 550
ypos = 800
prevPosY = ypos
c.setFont("Helvetica", 18)
namestr = infostrs[0].lower().capitalize() + " " + infostrs[1].lower().capitalize()
c.drawRightString(xpos,ypos,namestr)
prevPosY-=20
if role:
c.setFont("Helvetica", 13)
c.drawRightString(xpos,prevPosY,infostrs[2])
c.setFont("Helvetica", 12)
for x in range(3, len(infostrs)):
prevPosY-=14
c.drawRightString(xpos,prevPosY,infostrs[x])
return
Кажется достаточно простым.Но потом я понимаю, что у меня нет холста для передачи (c в определении basicInfoTopRight), когда я писал эту функцию, она использовала:
c= Canvas('hello.pdf', pagesize=A4)
Так что проблема в том, что я не могу иметьбыстрый и легкий доступ к холсту ... Я попробовал:
c = doc.canvas
Но не повезло!Я получаю следующую ошибку:
AttributeError: 'SimpleDocTemplate' object has no attribute 'canvas'
Так куда же я уронил мяч?