Word 批量轉 PDF

0.png

現實中咱們大多數人都作過將 Word 文件轉成 PDF 文件的工做,若是須要轉換的文件較少時,咱們本身手動轉沒什麼問題,但若是須要轉換的文件比較多時,手動轉起來也是一個不小的工做量,這時咱們就須要找一個更加便利、高效的方式了。python

咱們使用 Python 就能實現將 Word 文件批量轉成 PDF 文件,所以,當咱們須要轉換的文件比較多時,就能夠考慮使用這種方式了。spa

轉換功能的實現須要用到第三方庫 comtypes,安裝使用 pip install comtypes 便可,實現的基本思路是:咱們將須要轉換的 Word 文件放在一個目錄下,經過 Python 實現對文件的遍歷、轉換工做。3d

轉換功能的代碼實現也比較簡單,以下所示:code

def get_file(input_path, output_path):
    # 獲取全部文件名的列表
    filename_list = os.listdir(input_path)
    # 獲取全部 Word 文件名列表
    wordname_list = [filename for filename in filename_list \
                     if filename.endswith((".doc", ".docx"))]
    for wordname in wordname_list:
        # 分離 Word 文件名稱和後綴,轉化爲 PDF 名稱
        pdfname = os.path.splitext(wordname)[0] + ".pdf"
        # 若是當前 Word 文件對應的 PDF 文件存在,則不轉化
        if pdfname in filename_list:
            continue
        # 拼接路徑和文件名
        wordpath = os.path.join(input_path, wordname)
        pdfpath = os.path.join(output_path, pdfname)
        # 生成器
        yield wordpath, pdfpath

def word2pdf(input_path, output_path):
    word = comtypes.client.CreateObject("Word.Application")
    word.Visible = 0
    for wordpath, pdfpath in get_file(input_path, output_path):
        newpdf = word.Documents.Open(wordpath)
        newpdf.SaveAs(pdfpath, FileFormat=17)
        newpdf.Close()

咱們看一下效果,Word 文件內容以下所示:orm

看一下轉換後的 PDF 文件:blog

咱們能夠看到,不管是文字樣式仍是圖片,轉換的效果都比較好。圖片

源碼可在公衆號 Python小二 後臺回覆 200504 獲取。ip

相關文章
相關標籤/搜索