python將圖片轉換爲PDF文件

        工作中需要將衆多圖片轉換爲PDF文件,在線的各種工具又感覺不是很安全,於是就想到用python寫一個小工具,

完成批量圖片轉換PDF功能。

       主要使用python的fitz插件,通過在命令行輸入pip install fitz完成安裝,由於該資源比較大,建議對python的下載源

進行更改,安裝過程有報錯,不過不影響使用。更改方式參照:

windows下,在user目錄中創建一個pip目錄,如C:\Users\xx\pip,新建文件pip.ini,內容如下:

[global] 
index-url = http://mirrors.aliyun.com/pypi/simple/ 
[install] 
trusted-host=mirrors.aliyun.com 

        功能實現代碼:

#!/usr/local/python3.8.1
# coding: utf-8
# author: kanong2020
import os
import glob
import fitz

# 防止字符串亂碼
os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'



def frompic2pdf(img_path, pdf_path, pdf_name):
    # print(img_path + pdf_name + '.jpg')
    # 使用glob讀圖
    for img in sorted(glob.glob(img_path + pdf_name + '.jpg')):
        # 打開空文檔
        doc = fitz.open()
        # 打開指定圖片
        imgdoc = fitz.open(img)
        # 使用圖片創建單頁的PDF
        pdfbytes = imgdoc.convertToPDF()
        imgpdf = fitz.open("pdf", pdfbytes)
        # 將當前頁寫入文檔
        doc.insertPDF(imgpdf)
        # 保存爲指定名稱的PDF文件
        doc.save(pdf_path + pdf_name + '.pdf')
        # 關閉
        doc.close()


if __name__ == '__main__':
    # 讀取圖片地址
    img_path = r'D:\test\\'
    # 即將生成的pdf的目標地址
    pdf_path = r'D:\test\\'
    for root, dirs, files in os.walk(img_path):
        for file in files:
            # 目標文件名稱 無後綴
            destfileName = os.path.splitext(file)[0]
            # print(destfileName)
            frompic2pdf(img_path=img_path, pdf_path=pdf_path, pdf_name=destfileName)

運行測試驗證結果,在指定目錄下形成同名的pdf文件:

 


                                                                                                                                                                        用文字記錄生活片段

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章