我试图使用pdfkit将html页面转换为PDF,然后返回该PDF的流,因为这段代码是一个由网页调用的Flask。
据我所知,当您使用pdfkit.from_file时,必须同时提供输入和输出路径:
pdfkit.from_file("input.html", "output.pdf")问题是,我不想将这些文件写入我的服务器,因为可能有数百个用户生成这些PDF。是否有任何选项可以将其作为流返回?这句话暗示有,但我无法让它发挥作用:https://stackoverflow.com/a/73821712/4339010
如果没有流选项,最好的选择是什么?用uuid或某些事务id临时写入文件,将其写入流,然后删除pdf并返回流?只是在找些选择。谢谢。
发布于 2022-11-15 16:38:16
升级到1.0.0的pdfkit解决了我的问题。此时,输出文件是一个可选参数。如果您使用的是我以前的版本(0.6.1),如果您只是提供了False而不是一个文件,它的工作方式将与1.0.0相同。
不管您的版本如何,当您像上面那样调用它时,该文件将作为字符串返回。您可以在您的send服务中获取该数据并将其发送回您的send服务,而无需保存任何内容。
file_str = pdfkit.from_file("hello.html")
return Response(file_str, mimetype="application/pdf", headers={"Content-Disposition": "attachment; filename=hello.pdf"})https://stackoverflow.com/questions/74438277
复制相似问题