【问题标题】:Docx to pdf using pandoc in python在 python 中使用 pandoc 将 Docx 转换为 pdf
【发布时间】:2020-11-11 19:08:28
【问题描述】:

所以我对 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'

有人有什么想法吗?

【问题讨论】:

    标签: python django django-models pandoc pypandoc


    【解决方案1】:

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

    【讨论】:

    • pypandoc.convert_file('thisisdoc.docx', 'latex', outputfile="thisisdoc.pdf") 这个有效。但我也必须在同一路径上安装 pdflatex
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 2021-10-03
    相关资源
    最近更新 更多