【问题标题】:Bottle framework generate pdfBottle框架生成pdf
【发布时间】:2014-05-17 12:29:29
【问题描述】:

我需要使用 Bottle 框架生成 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

【问题讨论】:

    标签: python bottle reportlab pdflib


    【解决方案1】:

    Bottle 函数不应该返回 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()
    

    【讨论】:

      猜你喜欢
      • 2010-11-07
      • 2011-12-26
      • 2013-11-15
      • 2017-09-30
      • 1970-01-01
      • 2013-04-16
      • 1970-01-01
      • 2012-07-02
      • 2012-10-14
      相关资源
      最近更新 更多