Using Produce & Publish with PloneFormGen - generating PDF documents from form data.
view = context.restrictedTraverse('@@asPFGPDF')
pdf = view()
R = context.REQUEST.RESPONSE
R.setHeader('content-type', 'application/pdf')
R.setHeader('content-length', len(pdf))
R.setHeader('content-disposition', 'attachment; filename=%s.pdf' % context.getId())
R.write(pdf)
<span tal:replace="options/request/fullname | nothing">Fullname</span>