new_word2pdf.py 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. # -*- coding:utf-8 -*-
  2. import os
  3. import time
  4. from docx2pdf import convert
  5. import win32com.client
  6. from concurrent.futures import ProcessPoolExecutor
  7. from multiprocessing import Process
  8. import pythoncom
  9. def convert_word_to_pdf(input_file):
  10. output_file = input_file.replace('.docx', '.pdf')
  11. word = win32com.client.Dispatch("Word.Application")
  12. word.Visible = False
  13. doc = word.Documents.Open(input_file)
  14. doc.SaveAs(output_file, FileFormat=17)
  15. doc.Close()
  16. word.Quit()
  17. def convert_word_to_pdf2(input_file):
  18. pythoncom.CoInitialize()
  19. convert(input_file)
  20. pythoncom.CoUninitialize()
  21. if __name__ == '__main__':
  22. import os
  23. files = os.listdir(r"C:\Users\86131\Desktop\回收\潘资料")
  24. print(files)
  25. t = time.time()
  26. p_lists = []
  27. for file in files:
  28. p1 = Process(target=convert_word_to_pdf2, args=(r"C:\\Users\\86131\\Desktop\\回收\\潘资料\\"+file,))
  29. p1.start()
  30. p_lists.append(p1)
  31. for p in p_lists:
  32. p.join()
  33. print(time.time() - t)