Конвертация docx в pdf средствами python
Понадобилось тут мне по несколько раз на дню ковертить много файлов из word (*.docx) в PDF (*.pdf). Интернет полон информации, но что-то она местами старовата. Где-то много затыков на предмет используемой версии word, где-то много ещё чего-то. Ну т.е. с первого "тычка" не заработало.
Вот мой вариант, который, в общем-то без проблем отрабатывает.
Ставим python;
Ставим библиотеку pip install docx2pdf
Размещаем файлик скрипта туда, где лежат файлы, которые требуется сконвертировать.
Ну и тем, кому не хочется качать файлик, вот текст скрипта:
import sys
import os
from docx2pdf import convert
def get_list_of_docx_files():
list_of_all_files = os.listdir('.')
list_of_docx_files = []
for filename in list_of_all_files:
if filename[-4:] == 'docx':
list_of_docx_files.append(filename[:-5])
return list_of_docx_files
list_of_all_files = get_list_of_docx_files()
with open('toPDF_results.txt', 'w+') as fp:
fp.write("Стартуем конвертацию для следующих файлов:"+ '\n')
for i, file in enumerate(list_of_all_files):
if i < len(list_of_all_files) - 1:
fp.write(str(file) +".docx" + '\n')
else:
fp.write(str(file)+".docx")
fp.write('\n')
for file in list_of_all_files:
try:
convert(file + ".docx", file + ".pdf")
except Exception as e:
with open('toPDF_results.txt', 'w+') as fp:
fp.write("Ошибка при конвертации файла:", str(e))
input("Нажмите Enter для выхода...")