Я просмотрел несколько 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 не может сделай это.