Mik*_*ike 4 python fpdf flask python-3.x
我用 python2.7 和 Flask 编写了一个工作应用程序。它所做的事情之一就是下载 PDF 发票。工作正常。
\n\n现在我正在做一个新的应用程序,也允许下载 PDF 发票,但这次我使用的是 Python3。我可以将文件保存到服务器并获得完美运行的 PDF,但如果我尝试将其发送到浏览器,则生成的文件会损坏。
\n\n这是下载功能:
\n\n@mod.route(\'/get_invoice/<invoice_id>\')\ndef get_invoice(invoice_id):\n invoice = Invoices.query.filter_by(id=invoice_id).all()\n\n pdf_generator = PDFInvoice(invoice)\n pdf = pdf_generator.new()\n\n response = make_response(pdf.output(dest=\'S\'))\n response.headers[\'Content-Disposition\'] = \'attachment; filename="invoice.pdf"\'\n response.headers[\'Content-Type\'] = \'application/pdf\'\n\n return response\nRun Code Online (Sandbox Code Playgroud)\n\n这与旧版 Python2.7 应用程序中的工作功能几乎相同。
\n\n为了扩展,它正在改变这个(工作PDF):
\n\nx\xef\xbf\xbd3R\xef\xbf\xbd\xef\xbf\xbd2\xef\xbf\xbd35W(\xef\xbf\xbdr\nQ\xef\xbf\xbdw3T\xef\xbf\xbd\xef\xbf\xbd30P^HISp^M^A\xef\xbf\xbd^X^[\xef\xbf\xbd^YZ*\xef\xbf\xbd^[^Z\xef\xbf\xbd^Y\xef\xbf\xbd*\xef\xbf\xbd\xef\xbf\xbd(h\xef\xbf\xbde^Vg\xef\xbf\xbd(\xef\xbf\xbd^V+$\xef\xbf\xbd(\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbde\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xef\xbf\xbd\xe5\xa5\x96h*\xef\xbf\xbdd\xef\xbf\xbd\xef\xbf\xbd^@^@\xef\xbf\xbdv^T\xef\xbf\xbd\nRun Code Online (Sandbox Code Playgroud)\n\n进入这个(损坏的PDF):
\n\nx^\xc3\x9c3R\xc3\xb0\xc3\xa22\xc3\x9035W(\xc3\xa7r\nQ\xc3\x90w3T\xc2\xb0\xc3\x9430P^HISp^M^A^\xc3\x89^X^[\xc3\xa8^YZ*^\xc3\x98^[^Z\xc3\xaa^Y^\xc3\x9b*^\xc3\x84\xc2\xa4(h^\xc3\x84e^Vg^\xc3\x96(^\xc3\x94^V+$^\xc3\x96(^\xc3\x94^\xc3\x97^\xc3\x97\xc3\xabe\xc2\xa7\xc3\xa6^\xc3\x95\xc3\xa8\xc3\xa5\xc2\xa5^\xc3\x96h*^\xc3\x84d^\xc3\x81\xc3\xb4^@^@\xc3\xb8v^T\xc3\x82\nRun Code Online (Sandbox Code Playgroud)\n\npdf 的其余数据是文本字符串,它们看起来没有变化。所以这似乎是某个地方的编码问题。
\n| 归档时间: |
|
| 查看次数: |
856 次 |
| 最近记录: |