辦公利器!用Python快速將任意文件轉爲PDF

痛點: 相信你們都會遇到一種場景。老師/上司要求你把某個文件轉爲pdf,而且是一批(不止一個,一個的話手動就能夠搞定),而且這種是枯燥無聊的工做,既沒有什麼技術含量又累。python

試想一下,若是我把這些文件放到一個文件夾下,執行一下程序,幾分鐘後這些文件就轉好。這樣半天的活,只要花幾分鐘就解決了。豈不是美滋滋!!!ide

今天辰哥就教你們將任意文件批量轉爲PDF,這裏以平常辦公的wordexcelppt爲例,這三種格式的文件轉爲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四、小結

本文基本就成功實現目標要求,從效果來看仍是很是不錯的!完整源碼可由文中代碼組合而成(已所有分享在文中),感興趣的讀者能夠本身嘗試!

必定要動手嘗試 必定要動手嘗試 必定要動手嘗試!

相關文章
相關標籤/搜索