2014-04-05 65 views
2

我需要使用Bottle框架生成PDF文檔。瓶框架生成pdf

我試過類似Django,但沒有奏效:

@bottle.route('/pd') 
def create_pdf(): 
    response.headers['Content-Type'] = 'application/pdf; charset=UTF-8' 
    response.headers['Content-Disposition'] = 'attachment; filename="test.pdf"' 
    from io import BytesIO 
    buffer = BytesIO() 
    from reportlab.pdfgen import canvas 
    p = canvas.Canvas(buffer) 
    p.drawString(100,100,'Hello World') 
    p.showPage() 
    p.save() 
    pdf = buffer.getvalue() 
    buffer.close() 
    response.write(pdf) 
    return response 

回答

3

瓶功能不應該返回response對象,他們應該返回一個迭代(字符串列表,發電機,等等。)。

所以,你要這樣:

from io import BytesIO 
from reportlab.pdfgen import canvas 

@bottle.route('/pd') 
def create_pdf(): 
    response.headers['Content-Type'] = 'application/pdf; charset=UTF-8' 
    response.headers['Content-Disposition'] = 'attachment; filename="test.pdf"' 

    buffer = BytesIO() 
    p = canvas.Canvas(buffer) 
    p.drawString(100,100,'Hello World') 
    p.showPage() 
    p.save() 

    return buffer.getvalue() 
+0

謝謝..它的工作... – user1050619