Пример #1
0
 def renderPDF(self, xml):
     filename = self.filename
     stream = rml2pdf.parseString(xml, filename=filename or None)
     data = stream.getvalue()
     response = self.request.response
     response.setHeader('Content-Type', 'application/pdf')
     response.setHeader('Content-Length', len(data))
     # We don't really accept ranges, but Acrobat Reader will not show the
     # report in the browser page if this header is not provided.
     response.setHeader('Accept-Ranges', 'bytes')
     disposition = self.inline and 'inline' or 'attachment'
     quoted_filename = quoteFilename(filename)
     if quoted_filename:
         disposition += '; filename="%s"' % quoted_filename
     response.setHeader('Content-Disposition', disposition)
     return data
Пример #2
0
 def renderPDF(self, xml):
     filename = self.filename
     stream = rml2pdf.parseString(xml, filename=filename or None)
     data = stream.getvalue()
     response = self.request.response
     response.setHeader("Content-Type", "application/pdf")
     response.setHeader("Content-Length", len(data))
     # We don't really accept ranges, but Acrobat Reader will not show the
     # report in the browser page if this header is not provided.
     response.setHeader("Accept-Ranges", "bytes")
     disposition = self.inline and "inline" or "attachment"
     quoted_filename = quoteFilename(filename)
     if quoted_filename:
         disposition += '; filename="%s"' % quoted_filename
     response.setHeader("Content-Disposition", disposition)
     return data
Пример #3
0
 def __call__(self):
     response = self.request.response
     mime = self.context.mimeType
     if mime:
         response.setHeader('Content-Type', mime)
     response.setHeader('Content-Length', self.context.size)
     if self.inline:
         # We don't really accept ranges, but Acrobat Reader will not show the
         # report in the browser page if this header is not provided.
         response.setHeader('Accept-Ranges', 'bytes')
     disposition = self.inline and 'inline' or 'attachment'
     filename = self.context.__name__
     quoted_filename = quoteFilename(filename)
     if quoted_filename:
         disposition += '; filename="%s"' % quoted_filename
     response.setHeader('Content-Disposition', disposition)
     return self.context.openDetached()