Как конвертировать docx в pdf на ОС Ma c с Python? - PullRequest
0 голосов
/ 19 июня 2020

Я просмотрел несколько SO и других веб-страниц, но не нашел ничего, что работает.

Написанный мной сценарий открывает docx, изменяет некоторые слова и затем сохраняет его в определенной папке как docx. Однако я хочу сохранить его в формате PDF, но не знаю, как это сделать.

Входные данные, которые необходимо обновить, взяты из записи Tkinter. Эти данные собираются, и файл создается путем нажатия кнопки.

Это пример кода, с которым я работаю:

doc = Document('./myDocument.docx')

# Some Tkinter GUI code that gets input through Entries but which is left out as it's irrelevant

# The function that runs as soon as the button gets clicked
def contractUpdater():

   # Then some code to update the document which I won't include as it is irrelevant

   # Then save it    
   doc.save('/my/folder/contract{}.docx'.format(someVariable))

# The button that activates the function to change the docx and save it when clicked
convert = Button(frame, text='OK', command=contractUpdater).pack()

То, что я пытался сделать для его сохранить как pdf:

from docx2pdf import convert

# This after it was saved as a docx
    convert('/my/folder/contract{}.docx'.format(someVariable), '/my/folder/contract{}.pdf'.format(someVariable))

Но в нем говорится, что Word требуется разрешение на открытие сохраненного файла, и я должен выбрать файл, чтобы дать ему разрешение. После этого он просто говорит:

0%|          | 0/1 [00:03<?, ?it/s]
{'input': '/my/folder/contractsomeVariable.docx', 'output': '/my/folder/contractsomeVariable.pdf', 'result': 'error', 'error': 'Error: An error has occurred.'}

И я пытался просто поставить .pdf вместо .docx после имени документа, когда я его сохранил, но это тоже не сработало, поскольку модуль docx не может сделай это.

...