I figured out the answer to my own question: It seems I was soing things correctly, but needed a restart of the server to get it working, plus the addition of the content-length header, for instance if my buffer or string is val, then RESPONSE.set('Content-length',str(len(val))) does the trick and my pdf returns fine. Thanks, jason