新聞中心
Flask是一個用Python編寫的輕量級Web應用框架,它提供了一種簡單而靈活的方式來構建Web應用,在Flask中,我們可以使用第三方庫如ReportLab來生成PDF文件,本文將詳細介紹如何使用Flask和ReportLab庫來導出PDF文件。

創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、成都網(wǎng)站制作、網(wǎng)頁設計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務。立足成都服務桃山,十年網(wǎng)站建設經(jīng)驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:13518219792
1、安裝所需庫
我們需要安裝Flask和ReportLab庫,可以使用以下命令安裝:
pip install flask pip install reportlab
2、創(chuàng)建Flask應用
接下來,我們創(chuàng)建一個Flask應用,在項目目錄下創(chuàng)建一個名為app.py的文件,并添加以下代碼:
from flask import Flask, render_template, send_file
import os
from reportlab.lib.pagesizes import letter, landscape
from reportlab.pdfgen import canvas
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/download/')
def download(filename):
return send_file(os.path.join('static', filename), as_attachment=True)
if __name__ == '__main__':
app.run(debug=True)
這里我們導入了所需的庫,并創(chuàng)建了一個Flask應用,我們還定義了兩個路由:一個用于顯示HTML頁面,另一個用于下載生成的PDF文件。
3、創(chuàng)建HTML模板
接下來,我們需要創(chuàng)建一個HTML模板,在項目目錄下創(chuàng)建一個名為templates的文件夾,并在其中創(chuàng)建一個名為index.html的文件,添加以下代碼:
PDF生成示例
歡迎來到PDF生成示例頁面!
這個HTML模板包含一個簡單的表單,用戶可以通過點擊“生成PDF并下載”按鈕來生成PDF文件。
4、生成PDF文件
現(xiàn)在我們需要實現(xiàn)生成PDF文件的功能,在app.py文件中添加以下代碼:
@app.route('/generate/')
def generate(filename):
c = canvas.Canvas(os.path.join('static', filename), pagesize=landscape(letter))
c.setFont("Helvetica", 12)
c.drawString(100, 750, "歡迎來到PDF生成示例!")
c.save()
return render_template('generated.html', filename=filename)
這里我們定義了一個新的路由/generate/,用于生成PDF文件并將其保存到靜態(tài)文件夾中,我們還創(chuàng)建了一個新的HTML模板generated.html,用于顯示生成的PDF文件,在generated.html文件中添加以下代碼:
PDF生成成功
PDF生成成功!
5、運行Flask應用
我們運行Flask應用,在命令行中輸入以下命令:
python app.py
現(xiàn)在,你可以訪問http://127.0.0.1:5000/查看HTML頁面,點擊“生成PDF并下載”按鈕,將生成一個名為sample.pdf的PDF文件并提供下載鏈接,點擊鏈接可以下載生成的PDF文件,你還可以通過訪問http://127.0.0.1:5000/generate/sample.pdf直接生成并下載PDF文件。
分享題目:Flask導出PDF
文章URL:http://www.dlmjj.cn/article/dphspgd.html


咨詢
建站咨詢
