原理
使用python win32 庫 調用word底層vba,將word轉成pdf
安裝pywin32
pip install pywin32
python代碼
from win32com.client import gencache from win32com.client import constants, gencache def createPdf(wordPath, pdfPath): """ word轉pdf :param wordPath: word文件路徑 :param pdfPath: 生成pdf文件路徑 """ word = gencache.EnsureDispatch('Word.Application') doc = word.Documents.Open(wordPath, ReadOnly=1) doc.ExportAsFixedFormat(pdfPath, constants.wdExportFormatPDF, Item=constants.wdExportDocumentWithMarkup, CreateBookmarks=constants.wdExportCreateHeadingBookmarks) word.Quit(constants.wdDoNotSaveChanges) createPdf(r"G:\c盤資料\qq接受文件\(1月)關於舉辦“土地調查相關業務”培訓班的通知.doc","d:/1.pdf")
轉載於:https://www.cnblogs.com/jokerBi/p/10791760.html
============================================
from win32com.client import Dispatch from os import walk wdFormatPDF = 17 def doc2pdf(input_file): word = Dispatch('Word.Application') doc = word.Documents.Open(input_file) doc.SaveAs(input_file.replace(".doc", ".pdf"), FileFormat=wdFormatPDF) doc.Close() word.Quit() if __name__ == "__main__": doc_files = [] directory = r"D:\jfb" for root, dirs, filenames in walk(directory): for file in filenames: if file.endswith(".doc") or file.endswith(".docx"): print(file) doc2pdf(str(root + "\\" + file))