在python中使用pandoc将Docx转换为pdf

2024-09-23 16:18:50 发布

您现在位置: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'

有人有什么想法吗


Tags: 文件djangoimport机器docpdf站点response
1条回答
网友
1楼 · 发布于 2024-09-23 16:18:50

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")

相关问题 更多 >