import json import os from flask import Blueprint, request, Response from Report.PdfReport import ReportGenerator from Report.ReportModel import ReportModel from Report.db import upload_pdf, download_pdf from Report.path_tool import get_gen_report_path report_route = Blueprint('result', __name__) @report_route.route('/gen_pdf', methods=['POST']) def gen_pdf(): with open("static/test_data/report_template.json", "r", encoding="utf-8") as f: data = json.load(f) req = request.json name = req['企业名称'] text_model = ReportModel(req_json=req, tep_json=data).report_vlaues() # 生成报告保存到static临时文件夹 pdf_report = ReportGenerator(name=name, text_model=text_model) pdf_report.gen_report() # 将报告pdf保存到数据库并删掉本地报告 file_id = upload_pdf(name) if file_id: file_path = get_gen_report_path(name=name) os.remove(file_path) file = download_pdf(file_id) response = Response(file, content_type='application/pdf') return response