[reportlab-users] Return a file object rather than save afile...

Andy Robinson andy at reportlab.com
Fri Oct 2 07:43:37 EDT 2009


2009/10/2 Brower Jason <Jason.Brower at kone.com>:

> Somehow I need to make the save work with the output and I am am just to know with this file object stuff to know what to do.



Here's how to save your PDF as a string in memory.

buf = StringIO.StringIO()

c = Canvas(buf)


#do your drawing here


c.save() #PDF file is written into the buffer at this point


#extract contents as a byte string
buf.reset()
rawPdfFileContent = buf.read()

You then pass this to the response. If it was Django, I could write
to the response object (which is file-like), so I could do this and
cut out the StringIO...

response.setContentType('application/pdf')
c = Canvas(response)
....
c.save()



HTH....Andy


More information about the reportlab-users mailing list