python - 使用 pandoc 为 Heroku 生成 pdf
问题描述
在我的 Django 网站上,我有一个按钮,可以创建一个 word 文档并将其转换为 pdf 文件,以便在新窗口中向用户显示。现在这是通过使用docx
然后docx2pdf
进行对话阅读word文档来完成的。
我的问题是,当我在 Heroku 上启动它以使其生效时,因为 heroku 在 linux 上运行,这意味着我的文档不会被创建,因为我试图用 docx 生成它。
我认为可以使用pandoc
. 但是我在实施它时遇到了麻烦。下面是word文档生成和pdf生成,没有尝试实现pandoc
。如何使用以下代码实现 pandoc:
import docx
def making_a_doc_function(request):
doc = docx.Document()
doc.add_heading("hello")
doc.save('thisisdoc.docx')
convert("thisisdoc.docx", "output.pdf")
pdf = open('output.pdf', 'rb')
response = FileResponse(pdf)
return response
pandoc 文档:https ://pypi.org/project/pyandoc/
解决方案
Heroku 本身不会阻止您使用 python-docx 创建 docx 文件,唯一的问题是将输出文件存储到外部存储中(python-docx 不适用于远程位置,既不能上传也不能保存)。我需要编写自定义处理器以使其与 AWS S3 一起使用。
推荐阅读
- javascript - 折叠 d3.js 树(d3 版本 4)时,链接和标签不会消失 - 未捕获的类型错误
- javascript - 柏树中的别名(`.as`)是什么?
- bash - 没有日期的日期匹配行
- javascript - 如何在单选列表中取消选择 Angular Material 列表选项?
- visual-studio - 如何配置 Visual Studio 2019 Razor 格式?
- data-modeling - Kimball 和 Inmon 建模方法的区别
- laravel - Laravel on Docker, SQLSTATE[08006] [7] SCRAM 认证需要 libpq 版本 10 或以上
- javascript - 当 Ant 设计抽屉打开主体滚动其工作时
- javascript - IE 模式下的 Microsoft Edge
- wpf - 无法让我的图表出现在 Charts.WPF 中