Форум сайта python.su
Всем добрый день!
Знаю заезженная тема, но везде только какие-то обрывки. Так что б по делу для новичков так и не нашел.
Я делаю:
import cStringIO as StringIO
import sx.pisa3 as pisa
import logging
h = logging.FileHandler('pisa_error.log','w')
pisa.log.addHandler(h)
tpl.parse("BODY", "BODY") // это мой парс в html
body = tpl.get_var("BODY")
result = StringIO.StringIO()
pdf = pisa.CreatePDF(body.decode("cp1251").encode("utf-8"), result) / html в кодировке charset=windows-1251"
pisa.log.removeHandler(h)
page.request.setHeader("content-type", "application/pdf")
if not pdf.err:
returnValue(result.getvalue())
else:
raise Exception, "Can't convert html -> pdf"
Офлайн
В общем методом мук и ошибок, я нашел новые ошибки.
Может кто-то поможет расшифровать трейсбэки:
Sep 6 09:40:45 panter adminka: [-] #011 File "/usr/lib/pymodules/python2.7/sx/pisa3/pisa_document.py", line 161, in pisaDocument
Sep 6 09:40:45 panter adminka: [-] #011 doc.build(c.story)
Sep 6 09:40:45 panter adminka: [-] #011 File "/usr/lib/python2.7/dist-packages/reportlab/platypus/doctemplate.py", line 880, in build
Sep 6 09:40:45 panter adminka: [-] #011 self.handle_flowable(flowables)
Sep 6 09:40:45 panter adminka: [-] #011 File "/usr/lib/python2.7/dist-packages/reportlab/platypus/doctemplate.py", line 763, in handle_flowable
Sep 6 09:40:45 panter adminka: [-] #011 if frame.add(f, canv, trySplit=self.allowSplitting):
Sep 6 09:40:45 panter adminka: [-] #011 File "/usr/lib/python2.7/dist-packages/reportlab/platypus/frames.py", line 159, in _add
Sep 6 09:40:45 panter adminka: [-] #011 w, h = flowable.wrap(aW, h)
Sep 6 09:40:45 panter adminka: [-] #011 File "/usr/lib/pymodules/python2.7/sx/pisa3/pisa_reportlab.py", line 688, in wrap
Sep 6 09:40:45 panter adminka: [-] #011 return Table.wrap(self, availWidth, availHeight)
Sep 6 09:40:45 panter adminka: [-] #011 File "/usr/lib/python2.7/dist-packages/reportlab/platypus/tables.py", line 1113, in wrap
Sep 6 09:40:45 panter adminka: [-] #011 self._calc(availWidth, availHeight)
Sep 6 09:40:45 panter adminka: [-] #011 File "/usr/lib/python2.7/dist-packages/reportlab/platypus/tables.py", line 587, in _calc
Sep 6 09:40:45 panter adminka: [-] #011 self._calc_height(availHeight,availWidth,W=W)
Sep 6 09:40:45 panter adminka: [-] #011 File "/usr/lib/python2.7/dist-packages/reportlab/platypus/tables.py", line 553, in _calc_height
Sep 6 09:40:45 panter adminka: [-] #011 spanFixDim(H0,H,spanCons,lim=hmax)
Sep 6 09:40:45 panter adminka: [-] #011 File "/usr/lib/python2.7/dist-packages/reportlab/platypus/tables.py", line 205, in spanFixDim
Sep 6 09:40:45 panter adminka: [-] #011 t = sum([V[x]+M.get(x,0) for x in xrange(x0,x1)])
Sep 6 09:40:45 panter adminka: [-] #011exceptions.TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
Офлайн