Простым решением было бы использовать такую систему os.system:
import os
os.system("'Path_to_your_word_exe' 'path_to_your_p df'")
В этом решении есть проблема с пробелами внутри пути, поэтому я рекомендую использовать вызов подпроцесса:
import subprocesss
subprocess.call([r'raw path to word', r'raw path to file'])
пример:
subprocess.call([r'C:\Program Files\Microsoft Office\root\Office16\WINWORD.exe', r'C:\Users\gopco\Downloads\SCYR.pdf'])
Чтобы автоматизировать работу для нескольких файлов в одном каталоге, используйте следующий код:
import win32com.client
import os
#start word
word = win32com.client.Dispatch("Word.Application")
#allow word to print error messages (if any)
word.visible = 1
pdfs_path = "./" # folder with pdfs
reqs_path = "./" # folder for saving docx files
for i, doc in enumerate(glob.iglob(pdfs_path+"*.pdf")):
filename = doc.split('\\')[-1] #get just the file name
in_file = os.path.abspath(doc) #absolute path
print(in_file)
wb = word.Documents.Open(in_file) #open the pdf in word
out_file = os.path.abspath(reqs_path +filename[0:-4]+ ".docx".format(i)) #set the filename for saving the docx
print("outfile\n",out_file)
wb.SaveAs2(out_file, FileFormat=16) # file format for docx
print("success...")
wb.Close()
word.Quit()```