<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          用Python+PIL將目錄下jpg圖像批量轉(zhuǎn)成pdf文件

          共 1362字,需瀏覽 3分鐘

           ·

          2021-08-03 22:39

          一、引言

          最近單位有個(gè)事,需要將一堆圖片文件先轉(zhuǎn)成pdf文件,同事下了個(gè)windows下的圖形軟件,但要一個(gè)個(gè)轉(zhuǎn),幾百個(gè)jpg文件,太過麻煩,因此想用Python批量來做。一查,圖像處理庫(kù)PIL庫(kù)可以支持,一試,花了半個(gè)小時(shí)搞定,在此分享一下。


          關(guān)于PIL庫(kù)的安裝和介紹,網(wǎng)上有比較多的文章,在這里就不做展開介紹。


          另外本文的文件處理機(jī)制都是基于windows系統(tǒng)的,如果是linux等需要進(jìn)行對(duì)應(yīng)調(diào)整。


          二、基本實(shí)現(xiàn)思路

          本文主要用到pil庫(kù)的image模塊,通過open方法打開圖像,通過save另存一下,就實(shí)現(xiàn)了jpg轉(zhuǎn)pdf,特簡(jiǎn)單。對(duì)應(yīng)單個(gè)文件處理的函數(shù)實(shí)現(xiàn)如下:


          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)


          有了單個(gè)文件處理機(jī)制,就只需要讀取目錄下的文件逐一處理即可,具體代碼請(qǐng)見下面的完整代碼。


          三、完整代碼

          from PIL import Imageimport 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')

          四、小結(jié)

          本文介紹了通過PIL圖像處理庫(kù),批量將jpg等圖像文件轉(zhuǎn)成pdf文件的方法,并提供了完整實(shí)現(xiàn)代碼。上述方法不僅適用于jpg圖像文件,也適用于所有pil支持的圖像文件,不過關(guān)于圖像文件的匹配要稍微調(diào)整下。


          更多圖像處理請(qǐng)參考專欄《OpenCV-Python圖形圖像處理》及《圖像處理基礎(chǔ)知識(shí)》的介紹。


          對(duì)于缺乏Python基礎(chǔ)的同仁,可以通過老猿的免費(fèi)專欄《 專欄:Python基礎(chǔ)教程目錄》從零開始學(xué)習(xí)Python。


          瀏覽 121
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲成人小说 | 欧美成人操B网站 | 九九AV | 日比视频在线观看 | 免费看无码人妻AⅤ片 |