めも

これはメモ。

pythonでワードファイル(.docx, doc)をpdfに変換

python-docxライブラリ等でできるかと少し調べましたが、できなかったのでLibreOffice経由で無理やり変換。 Windowsの時はWordを、UbuntuならLibreofficeを呼び出せばいいと思います。

ソースコード

import subprocess
import sys

args = ['libreoffice', '--headless', '--convert-to', 'pdf', '--outdir', 'pdf_dir', 'docx_dir/demo.docx']
process = subprocess.call(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE, timeout=None)

補足

MacOXの場合は libreofficeの部分が '/Applications/LibreOffice.app/Contents/MacOS/soffice' みたいな感じになると思います。フォルダ名などは適宜変更してください。