im试图使用ReportLab模块获取PDF,到目前为止效果还不错。我的问题是,使用.build()方法将PDF保存在Webapps目录中。我想要的是我可以发送PDF进行下载而无需保存。 wkhtmltopdf模块可以通过某种方式实现,但我不想为此使用任何其他服务器。过程如下:用户按下“以pdf下载”按钮,生成pdf,并立即以下载形式返回,而无需先保存。你知道这有可能吗?
您要创建PDF服务器端,将其返回给客户端,而不保存PDF(例如,在S3中吗?
是,可以使用]在内存中创建PDF>
buffer = io.BytesIO() myPDF = canvas.Canvas(buffer, pagesize=letter)
然后在创建pdf后,使用]保存它>
myPDF.save() buffer.seek(0)
然后,当您准备好返回PDF作为响应时,可以使用以下方式返回它:
response = HttpResponse(buffer, content_type='application/pdf') response['Content-Disposition'] = 'attachment; filename="{}"'.format("myFile.pdf") return response