在 python 中使用 pandoc 将 Docx 转为 pdf
Docx to pdf using pandoc in python
所以我对 Python 很陌生,所以这可能是一个愚蠢的问题,但我似乎无法在任何地方找到解决方案。
我有一个 django 站点,我是 运行 它在我的本地机器上仅用于开发。
在网站上,我想将 docx
文件转换为 pdf
。我想使用 pandoc
来做到这一点。我知道还有其他方法,例如在线 api 或 python 模块,例如“docx2pdf”。但是,出于部署原因,我想使用 pandoc
。
我已经使用 brew install pandoc
在我的终端上安装了 pandoc
。
所以应该正确安装。
在我的 django 项目中,我正在做:
import pypandoc
import docx
def making_a_doc_function(request):
doc = docx.Document()
doc.add_heading("MY DOCUMENT")
doc.save('thisisdoc.docx')
pypandoc.convert_file('thisisdoc.docx', 'docx', outputfile="thisisdoc.pdf")
pdf = open('thisisdoc.pdf', 'rb')
response = FileResponse(pdf)
return response
docx
文件创建没问题,但 pdf
没有创建。我收到一条错误消息:
Pandoc died with exitcode "4" during conversion: b'cannot produce pdf output from docx\n'
有没有人有什么想法?
convert_file
的第二个参数是 output 格式,或者,在本例中,是 pandoc 生成 pdf 的格式。 Pandoc 不知道如何通过 docx 生成 PDF,因此出现错误。
改用pypandoc.convert_file('thisisdoc.docx', 'latex', outputfile="thisisdoc.pdf")
或pypandoc.convert_file('thisisdoc.docx', 'pdf', outputfile="thisisdoc.pdf")
。
所以我对 Python 很陌生,所以这可能是一个愚蠢的问题,但我似乎无法在任何地方找到解决方案。
我有一个 django 站点,我是 运行 它在我的本地机器上仅用于开发。
在网站上,我想将 docx
文件转换为 pdf
。我想使用 pandoc
来做到这一点。我知道还有其他方法,例如在线 api 或 python 模块,例如“docx2pdf”。但是,出于部署原因,我想使用 pandoc
。
我已经使用 brew install pandoc
在我的终端上安装了 pandoc
。
所以应该正确安装。
在我的 django 项目中,我正在做:
import pypandoc
import docx
def making_a_doc_function(request):
doc = docx.Document()
doc.add_heading("MY DOCUMENT")
doc.save('thisisdoc.docx')
pypandoc.convert_file('thisisdoc.docx', 'docx', outputfile="thisisdoc.pdf")
pdf = open('thisisdoc.pdf', 'rb')
response = FileResponse(pdf)
return response
docx
文件创建没问题,但 pdf
没有创建。我收到一条错误消息:
Pandoc died with exitcode "4" during conversion: b'cannot produce pdf output from docx\n'
有没有人有什么想法?
convert_file
的第二个参数是 output 格式,或者,在本例中,是 pandoc 生成 pdf 的格式。 Pandoc 不知道如何通过 docx 生成 PDF,因此出现错误。
改用pypandoc.convert_file('thisisdoc.docx', 'latex', outputfile="thisisdoc.pdf")
或pypandoc.convert_file('thisisdoc.docx', 'pdf', outputfile="thisisdoc.pdf")
。