首页 > 解决方案 > 使用 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/

标签: pythondjangopandocpypandoc

解决方案


Heroku 本身不会阻止您使用 python-docx 创建 docx 文件,唯一的问题是将输出文件存储到外部存储中(python-docx 不适用于远程位置,既不能上传也不能保存)。我需要编写自定义处理器以使其与 AWS S3 一起使用。


推荐阅读