一、引言
最近單位有個事,需要將一堆圖片檔案先轉成pdf檔案,同事下了個windows下的圖形軟體,但要一個個轉,幾百個jpg檔案,太過麻煩,因此想用Python批量來做,一查,影像處理庫PIL庫可以支持,一試,花了半個小時搞定,在此分享一下,
關于PIL庫的安裝和介紹,網上有比較多的文章,在這里就不做展開介紹,
另外本文的檔案處理機制都是基于windows系統的,如果是linux等需要進行對應調整,
二、基本實作思路
本文主要用到pil庫的image模塊,通過open方法打開影像,通過save另存一下,就實作了jpg轉pdf,特簡單,對應單個檔案處理的函式實作如下:
def jpg2pdf(jpgFile):
path,fileName = jpgFile.rsplit('\\',1)
preName,postName = fileName.rsplit('.',1)
img = Image.open(jpgFile)
return img.save(path+"\\"+preName+'.pdf', "PDF", resolution=100.0, save_all=True)
有了單個檔案處理機制,就只需要讀取目錄下的檔案逐一處理即可,具體代碼請見下面的完整代碼,
三、完整代碼
from PIL import Image
import os
def jpg2pdf(jpgFile):
path,fileName = jpgFile.rsplit('\\',1)
preName,postName = fileName.rsplit('.',1)
img = Image.open(jpgFile)
return img.save(path+"\\"+preName+'.pdf', "PDF", resolution=100.0, save_all=True)
def jpg2pdfByPath(pathName):
files = os.listdir(pathName)
for f in files:
if f.lower().find(".jpg")>0 :
jpg2pdf(pathName+'\\'+f)
jpg2pdfByPath(r'c:\img\jpg')
四、小結
本文介紹了通過PIL影像處理庫,批量將jpg等影像檔案轉成pdf檔案的方法,并提供了完整實作代碼,上述方法不僅適用于jpg影像檔案,也適用于所有pil支持的影像檔案,不過關于影像檔案的匹配要稍微調整下,
寫博不易,敬請支持:
如果閱讀本文于您有所獲,敬請點贊、評論、收藏,謝謝大家的支持!
如對文章內容存在疑問,可在博客評論區留言,或通過掃描博客左邊的二維碼關注:老猿Python 微信公號發訊息咨詢,
關于老猿的付費專欄
-
付費專欄《 使用PyQt開發圖形界面Python應用》專門介紹基于Python的PyQt圖形界面開發基礎教程,對應文章目錄為《 使用PyQt開發圖形界面Python應用專欄目錄》;
-
付費專欄《 moviepy音視頻開發專欄 )詳細介紹moviepy音視頻剪輯合成處理的類相關方法及使用相關方法進行相關剪輯合成場景的處理,對應文章目錄為《moviepy音視頻開發專欄文章目錄》;
-
付費專欄《 OpenCV-Python初學者疑難問題集》為《 OpenCV-Python圖形影像處理 》的伴生專欄,是筆者對OpenCV-Python圖形影像處理學習中遇到的一些問題個人感悟的整合,相關資料基本上都是老猿反復研究的成果,有助于OpenCV-Python初學者比較深入地理解OpenCV,對應文章目錄為《 OpenCV-Python初學者疑難問題集專欄目錄 》
-
付費專欄《Python爬蟲入門 》站在一個互聯網前端開發小白的角度介紹爬蟲開發應知應會內容,包括爬蟲入門的基礎知識,以及爬取CSDN文章資訊、博主資訊、給文章點贊、評論等實戰內容,
前兩個專欄都適合有一定Python基礎但無相關知識的小白讀者學習,第三個專欄請大家結合《 OpenCV-Python圖形影像處理 》的學習使用,
對于缺乏Python基礎的同仁,可以通過老猿的免費專欄《 專欄:Python基礎教程目錄》從零開始學習Python,
如果有興趣也愿意支持老猿的讀者,歡迎購買付費專欄,
老猿Python,跟老猿學Python!
? ? 前往老猿Python博文目錄 ?
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/289416.html
標籤:其他
