从命令行将 DOCX 文件转换为 PDF

Converting DOCX file to PDF from command line

我正在编写 python 脚本并想将 DOCX 转换为 PDF。有什么方法可以做到这一点?这是我当前的代码:

printer_path = 'C:\Program Files\Nitro\Pro\12\NitroPDF.exe'
doc_path = 'Test.docx'

subprocess.call([printer_path,  doc_source_path])

Nitro PDF 将打开并开始转换文件,但不会完成。感谢您的任何意见。

编辑 1:为了使 subprocess.call 正常工作,我必须将两个输入设为绝对路径,例如doc_path = 'C:\Documents\Test.docx'

如果您安装了 Microsoft Word,则以下应该可以工作:

subprocess.call('docto -f "C:\Dir with Spaces\FilesToConvert\" -O "C:\DirToOutput" -T wdFormatPDF  -OX .pdf', shell=True)

您可以使用 docx2pdf python 包在 Windows 或 macOS 上转换 docx,格式问题为零。它需要安装 Microsoft Word,并在 Windows 上使用 COM API,在 macOS 上使用 AppleScript (JXA)。

from docx2pdf import convert

convert("input.docx")
convert("input.docx", "output.pdf")
convert("my_docx_folder/")

免责声明:我写了 docx2pdf。 https://github.com/AlJohri/docx2pdf