所以我对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 docxn'
有人有什么想法吗?
convert_file
的第二个参数是输出格式,或者在本例中,是pandoc生成pdf的格式。Pandoc不知道如何通过docx生成PDF,因此出现了错误。
请改用pypandoc.convert_file('thisisdoc.docx', 'latex', outputfile="thisisdoc.pdf")
或pypandoc.convert_file('thisisdoc.docx', 'pdf', outputfile="thisisdoc.pdf")
。