1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- # -*- coding:utf-8 -*-
- import os
- import time
- from docx2pdf import convert
- import win32com.client
- from concurrent.futures import ProcessPoolExecutor
- from multiprocessing import Process
- import pythoncom
- def convert_word_to_pdf(input_file):
- output_file = input_file.replace('.docx', '.pdf')
- word = win32com.client.Dispatch("Word.Application")
- word.Visible = False
- doc = word.Documents.Open(input_file)
- doc.SaveAs(output_file, FileFormat=17)
- doc.Close()
- word.Quit()
- def convert_word_to_pdf2(input_file):
- pythoncom.CoInitialize()
- convert(input_file)
- pythoncom.CoUninitialize()
- if __name__ == '__main__':
- import os
- files = os.listdir(r"C:\Users\86131\Desktop\回收\潘资料")
- print(files)
- t = time.time()
- p_lists = []
- for file in files:
- p1 = Process(target=convert_word_to_pdf2, args=(r"C:\\Users\\86131\\Desktop\\回收\\潘资料\\" + file,))
- p1.start()
- p_lists.append(p1)
- for p in p_lists:
- p.join()
- print(time.time() - t)
|