Python: преобразование docx в pdf
Описание
Скрипт работает только под windows.
Для работы нужен установленный Microsoft Word и пакет для python comtypes.
Фактически скрипт делает тоже самое как если бы вы открыли документ в Word-e и нажали "Сохранить как" в формат pdf. То есть все так и происходит, сохраняет сам Word, только не надо запускать его явно и не надо никуда жать.
Установка зависимостей
Пакет comtypes можно установить стандартными средствами через pip:
pip3 install comtypes
Сам скрипт
#!/usr/bin/env python3 # -*- coding: utf-8 -*- import os import sys import comtypes.client wdFormatPDF = 17 ######################################################################### def covx_to_pdf(infile, outfile): """Convert a Word .docx to PDF""" print("Creating object...") word = comtypes.client.CreateObject('Word.Application') print("Opening docx file...") doc = word.Documents.Open(infile) print("Saving pdf file...") doc.SaveAs(outfile, FileFormat=wdFormatPDF) print("Closing document...") doc.Close() print("Exiting...") word.Quit() ######################################################################### def main(): print("Start conversion.") covx_to_pdf("inputfile.docx", "outputfile.pdf") print("Finished.") return 0 ######################################################################### if __name__ == '__main__': ret = main() sys.exit(ret)