Я пытаюсь сгенерировать и вывести PDF из вида django. Я следовал примеру в документации django, используя ReportLab , но загруженный PDF не открывается ни в одной программе чтения PDF.
Я использую Python 3.7.0, Django == 2.1.3, reportlab == 3.5.12. Я попытался добавить content_type="application/pdf"
в 'FileResponse`, но все еще имел ту же проблему.
import io
from django.http import FileResponse
from reportlab.pdfgen import canvas
def printPDF(request):
# Create a file-like buffer to receive PDF data.
buffer = io.BytesIO()
# Create the PDF object, using the buffer as its "file."
p = canvas.Canvas(buffer)
p.drawString(100, 100, "Hello world.")
p.showPage()
p.save()
return FileResponse(buffer, as_attachment=True, filename='hello.pdf')
Созданный PDF должен открываться во всех программах чтения PDF. Но я получаю сообщение «Не удалось загрузить документ PDF».