The new ResponseMixin in 1.10 enables you to send non-HTML content from an Albatross page object or module to the browser. This allows you to send back documents such as images, stylesheets, Acrobat files etc. The example below simply sends the file named in {{{ctx.locals.filename}}} to the browser but the content could be a dynamically generated PDF file. {{{ #!python import mimetypes def page_display(ctx): # Decide which file to send back filename = ctx.locals.filename # Read the file's content (ignores errors for brevity) data = file(filename).read() # Find the MIME type mime_type = mimetypes.guess_type(filename)[0] # Set the content-type header # Set the MIME type and send the data ctx.set_header('Content-Type', mime_type) ctx.send_content(data) }}}