django PDF FileResponse“无法加载PDF文档。”

时间:2019-01-05 06:45:34

标签: django pdf-generation reportlab

我正在尝试从Django视图生成和输出PDF。我按照django documentation using ReportLab中的示例进行操作,但是下载的PDF在任何PDF阅读器中均未打开。

我使用Python 3.7.0,Django == 2.1.3,reportlab == 3.5.12。我尝试将let chatReference: FIRDatabaseReference = FIRDatabase.database().reference().child("Posts").child("Messages") } let date = "2018-11-26 09:56:08" chatReference.queryOrdered(byChild: "date").queryEqual(toValue: date).observe(.childAdded, with: { //to delete message filtered by unique date snapshot in snapshot.ref.removeValue(completionBlock: { (error, reference) in //node successfully deleted if error != nil { print("There has been an error:\(String(describing: error))") } }) }) 添加到'FileResponse`,但仍然遇到相同的问题。

content_type="application/pdf"

生成的PDF应该在所有PDF阅读器中打开。但是我收到“无法加载PDF文档。”

2 个答案:

答案 0 :(得分:2)

newStr->str[l.len] = *r.str;newStr->str = malloc(l.len+r.len+1);的交互似乎有些混乱。以下对我有用。

BytesIO

答案 1 :(得分:0)

buffer = BytesIO()代替文件来存储pdf文档。在使用FileResponse返回之前,您需要将流位置重置为其开始位置:

buffer.seek(io.SEEK_SET)

现在pdf下载应该可以正常工作了。