[Plone-conosur] para que zope y python me devuelvan un pdf

Israel Saeta Pérez dukebody en gmail.com
Lun Sep 15 07:06:00 UTC 2008


2008/9/15 Conectel - San Luis Potosi - echeverri Choux Federico Manuel
<echeverrifm en gmail.com>:
> Hola!! gente estoy haciendo un proyecto en donde tengo que llenar un
> formulario y al enviarse el me devuelva un PDF.
> Yo lo pense usando un external method y para crearle el PDF uso
> Reportlab, hasta ahi esta bien, solo que no se como decirle al script
> para que devuelva el pdf generado

Supongo que tendrás que fijar las cabeceras HTTP de la respuesta y
enviar el PDF. En el libro de Philipp sobre Zope 3 también utilizan
ReportLab y lo hacen así:

response = self.request.response
response.setHeader('Content-Disposition', 'attachment; filename=%s' % filename)
response.setHeader('Content-Type', 'application/pdf')

Y luego tienes que devolver (return) un objeto file-like, que puede
ser una instancia de la clase de Python tempfile.TemporaryFile.

En vez de usar un método externo usa mejor una vista de Zope 3, que,
por supuesto, están disponibles en Zope 2. :-)

-- Israel




Más información sobre la lista de distribución Plone-ConoSur