[pyar] pyfpdf - web2py - template desde DB
Luciano Bovio
omicronvt en gmail.com
Jue Ago 15 17:32:46 ART 2013
Estoy tratando de usar un template de pyfpdf en web2py mediante la DB.
Sigo los pasos del tut pero me salta este error al querer ver el template :
<type 'exceptions.AttributeError'> 'Row' object has no attribute 'copy'
Este es el traceback:
Traceback (most recent call last):
File "/home/lu/web2py/gluon/restricted.py", line 212, in restricted
exec ccode in environment
File
"/home/lu/web2py/applications/sueldos/controllers/liquidaciones_a5.py",
line 415, in <module>
File "/home/lu/web2py/gluon/globals.py", line 193, in <lambda>
self._caller = lambda f: f()
File
"/home/lu/web2py/applications/sueldos/controllers/liquidaciones_a5.py",
line 275, in test
return f.render("./template.pdf",dest='S')
File "/home/lu/web2py/gluon/contrib/fpdf/template.py", line 114, in
render
element = element.copy()
AttributeError: 'Row' object has no attribute 'copy'
----------------------------------------------------------------------------
Si uso el template harcodedeado dentro del controller anda joya.
adjunto ejemplo resumido :
-----------------------------------------------------------------------------
def test():
#importar
from gluon.contrib.pyfpdf import Template
# traer elements desde la base
elements =
db(db.pdf_element.pdf_template_id==1).select(orderby=db.pdf_element.priority)
# o usar template hardcodeado
# elements = [{ 'name': 'box', 'type': 'B', 'x1': 5.0, 'y1': 5.0,
'x2': 143.5, 'y2': 205.0, 'font': 'Arial', 'size': 0.0, 'bold': 0,
'italic': 0, 'underline': 0, 'foreground': 0, 'background': 0, 'align':
'I', 'text': None, 'priority': 0, }]
#crear template
f = Template(format="A4",
title="Sample Invoice", elements=elements)
#agregar página
f.add_page()
#mostrar la página
response.headers['Content-Type']='application/pdf'
return f.render("./template.pdf",dest='S')
-------------------------------------------------------------------------------
Alguna ayuda ?
Saludos
More information about the pyar
mailing list