痛點: 相信你們都會遇到一種場景。老師/上司要求你把某個文件轉爲pdf,而且是一批(不止一個,一個的話手動就能夠搞定),而且這種是枯燥無聊的工做,既沒有什麼技術含量又累。python
試想一下,若是我把這些文件放到一個文件夾下,執行一下程序,幾分鐘後這些文件就轉好。這樣半天的活,只要花幾分鐘就解決了。豈不是美滋滋!!!ide
今天辰哥就教你們將任意文件批量轉爲PDF,這裏以平常辦公的word、excel、ppt爲例,這三種格式的文件轉爲PDF。學習
0一、word轉PDF
這裏藉助Python的docx2pdf去完成轉換操做,該庫的安裝命令以下:ui
pip install docx2pdf
目標:讀取文件夾下的所有word文件,而後進行轉換,最後保存到對應的文件夾中。spa
這裏辰哥新建兩個word文件做爲演示,打開其中一個word看看3d
裏面不只有文字,同時包含有圖片excel
import os from docx2pdf import convert word_path = 'word_path' word_to_pdf = 'word_to_pdf' for i,j,name in os.walk(word_path): for word_name in name: convert(word_path+"/"+word_name, word_to_pdf+"/"+word_name.replace("docx","pdf"))
其中word_path是存放word文件的文件夾,word_to_pdf是轉換後的pdf存放文件夾。code
打開第一個pdf,內容以下:orm
能夠看到文字、圖片、以及排版****這些都與原文件(word)如出一轍。blog
0二、excel轉PDF
這裏須要使用到的庫是comtypes,下面直接上案例。
上面的word轉pdf已經教你們學會了從文件夾中讀取所有的文件,全部這裏一樣的就再也不贅述。
pip install pywin32
目標: 將excel文件轉爲PDF
這裏辰哥新建一個excel文件做爲演示
import os from win32com.client import DispatchEx excel_path = "D:/公衆號/0626/Python研究者.xls" pdf_path = "D:/公衆號/0626/Python研究者.pdf" xlApp = DispatchEx("Excel.Application") xlApp.Visible = False xlApp.DisplayAlerts = 0 books = xlApp.Workbooks.Open(excel_path,False) books.ExportAsFixedFormat(0, pdf_path) books.Close(False) xlApp.Quit()
運行以後生成pdf文件
打開pdf
能夠看到excel中的數據已經所有轉爲PDF格式。
0三、ppt轉PDF
這裏須要使用到的庫是comtypes,下面直接上案例。
上面的word轉pdf已經教你們學會了從文件夾中讀取所有的文件,全部這裏一樣的就再也不贅述。
目標:ppt轉爲pdf
這個是辰哥以前作分享時弄的一個ppt,我們就以這個ppt爲例
import comtypes.client import os def ppt_to_pdf(): #設置路徑 input_file_path=os.path.abspath("Python學習規劃路線.pptx") output_file_path=os.path.abspath("Python學習規劃路線.pdf") #建立PDF powerpoint=comtypes.client.CreateObject("Powerpoint.Application") powerpoint.Visible=1 slides=powerpoint.Presentations.Open(input_file_path) #保存PDF slides.SaveAs(output_file_path,32) slides.Close()
這裏將會ppt:Python學習規劃路線.pptx轉爲Python學習規劃路線.pdf
打開pdf其內容以下:
0四、小結
本文基本就成功實現目標要求,從效果來看仍是很是不錯的!完整源碼可由文中代碼組合而成(已所有分享在文中),感興趣的讀者能夠本身嘗試!
必定要動手嘗試 !必定要動手嘗試 !必定要動手嘗試!