Python Flask预览PDF文件

 python flask预览PDF的接口

@app.route('/viewPdfById/<id>',methods = ['get'])
def viewPdf(id):
    id = int(id)
    con = mysql.connect(host="192.168.10.71", port=3306, user="user", passwd="passwd", db="jibei", charset="utf8mb4")
    mycursor = con.cursor()
    # 从数据库根据id查询文件名字
    sql = "SELECT filename FROM table WHERE id = '%s' "%(id)
    mycursor.execute(sql)
    infos = mycursor.description
    fileds = [info[0] for info in infos]
    produce = mycursor.fetchone()
    # 将查询结果组织成字典的形式
    dic = dict(zip(fileds, produce))
    headers = ("Content-Disposition", f"inline;filename={dic['filename']}.pdf")  # 文件预览
    as_attachment = False
    file_path = 'C:\\Users\\user\\Desktop\\pdf\\{}'.format(str(dic['filename']))
    print(file_path)
    response = make_response(send_file(file_path, as_attachment=as_attachment))
    response.headers[headers[0]] = headers[1]
    return response

if __name__ == '__main__':
    app.config['JSON_AS_ASCII'] = False
    app.run(host='127.0.0.1', port=8888)

http://localhost:5000/viewPdfById/2

这个2就是PDF在库里面对应的id

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Python Flask 是一个轻量级的 Web 开发框架,它提供了快速搭建 Web 应用的能力。在 Flask 中,我们可以使用第三方库来生成 PDF 文件,比如使用 ReportLab 或者 WeasyPrint。这些库可以帮助我们在 Flask 应用中生成高质量的 PDF 文件。 首先,我们需要在 Flask 项目中安装相应的生成 PDF 的库。比如,如果选择使用 ReportLab,我们可以使用 pip 命令安装: ``` pip install reportlab ``` 然后,在 Flask 的视图函数中,我们可以使用这些库来生成 PDF。比如,我们可以使用 ReportLab 来创建一个 PDF 文件并将其返回给客户端: ```python from reportlab.pdfgen import canvas from flask import make_response from io import BytesIO @app.route('/generate_pdf', methods=['GET']) def generate_pdf(): buffer = BytesIO() pdf = canvas.Canvas(buffer) pdf.drawString(100, 100, "Hello, World!") pdf.showPage() pdf.save() buffer.seek(0) response = make_response(buffer.getvalue()) response.headers['Content-Type'] = 'application/pdf' response.headers['Content-Disposition'] = 'attachment; filename=hello.pdf' return response ``` 在这个例子中,我们创建了一个视图函数来生成 PDF 文件。首先,我们创建了一个 BytesIO 缓冲区,并使用 ReportLab 创建了一个 PDF 文件。然后,我们使用 Flask 的 make_response 函数将 PDF 文件返回给客户端。 总之,通过使用第三方库,我们可以在 Python Flask 中快速开发生成 PDF 的功能,满足项目的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值