У меня есть функция, которая генерирует PDF-файл, и у меня есть сайт Flask. Я хотел бы объединить эти два, чтобы при посещении сайта был создан и загружен PDF-файл. Я работаю над объединением различных фрагментов кода, которые я не совсем понимаю. PDF создается и загружается, но при попытке его открыть никогда не загружается. Что мне не хватает?Загрузка ReportLab PDF с Flask - Python
import cStringIO
from reportlab.lib.enums import TA_JUSTIFY
from reportlab.lib.pagesizes import letter
from reportlab.platypus import SimpleDocTemplate, Paragraph
from reportlab.lib.styles import getSampleStyleSheet, ParagraphStyle
from flask import make_response, Flask
from reportlab.pdfgen import canvas
app = Flask(__name__)
@app.route('/')
def pdf():
output = cStringIO.StringIO()
doc = SimpleDocTemplate("test.pdf",pagesize=letter)
Story=[]
styles=getSampleStyleSheet()
styles.add(ParagraphStyle(name='Justify', alignment=TA_JUSTIFY))
ptext = '<font size=12>test</font>'
Story.append(Paragraph(ptext, styles["Justify"]))
doc.build(Story)
pdf_out = output.getvalue()
output.close()
response = make_response(pdf_out)
response.headers['Content-Disposition'] = "attachment; filename='test.pdf"
response.mimetype = 'application/pdf'
return response
app.run()
Ваш код будет работать, если вы измените этот 'doc = SimpleDocTemplate (" test.pdf ", pagesize = letter)' line to 'doc = SimpleDocTemplate (output, pagesize = letter)' –