午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > Python 多張圖片合并成一個pdf的參考示例

Python 多張圖片合并成一個pdf的參考示例

熱門標簽:大連crm外呼系統 老人電話機器人 洪澤縣地圖標注 梅州外呼業務系統 高德地圖標注是免費的嗎 北京電信外呼系統靠譜嗎 地圖標注視頻廣告 無錫客服外呼系統一般多少錢 百度地圖標注位置怎么修改

過程

拿到一個需求最重要的就是將大塊任務拆分成一個個小模塊,逐個擊破。

拍照

這一步首先是將所有的書頁拍好,需要注意的是要按照書的頁碼來拍,因為后面的排序是按照文件名進行排序的,拍照的文件名基本上是按照時間生成的,如果拍的時候亂了,到時候生成的 pdf 里面的頁碼也會亂掉。

用到的Python 操作庫

Python 最好的地方就是有大量的第三方庫能幫我們快速實現我們想要的方法,搜索到了兩個庫, PyFPDF 和img2pdf,我們這里選擇img2pdf來完成我們的需求 pip install img2pdf

Python遍歷文件夾獲取圖片

    dirname = "f:/wlzcool"
    imgs = []
    for fname in os.listdir(dirname):
        if not fname.endswith(".jpg"):
            continue
        path = os.path.join(dirname, fname)
        if os.path.isdir(path):
            continue
        imgs.append(path)

需要注意圖片的文件名如果是純數字且位數不一樣,排序會為1之后是10而不是2,需要進行一個排序,如果是手機拍的文件就沒有這個問題。 files.sort(key=lambda x: int(x[:-4]))

旋轉圖片展示方向并壓縮像素

有的時候手機拍出來的圖片是水平的,需要將其改為豎直的
用rotate旋轉方向的時候需要注意加上expand=True 這個參數,否則會有黑邊出現。

手機的照片像素太高,有的需要進行壓縮以保證最后生成的pdf的大小適中。

    img = Image.open(path)    
    if img.size[0] > img.size[1]:
        im_rotate = img.rotate(90, expand=True)
        size = (int(im_rotate.size[0] / 3), int(im_rotate.size[1] / 3))
        im_rotate = im_rotate.resize(size)
        im_rotate.save(savepath, quality=95)
    else:
        size = (int(img.size[0] / 3), int(img.size[1] / 3))
        img = img.resize(size)
        img.save(savepath, quality=95)

整體代碼

寫成腳本需要考慮的有很多,為了方便使用,需要將各種參數改為允許用戶輸入的。比如圖片文件夾所在的路徑,壓縮比之類的

from PIL import Image
import os
import img2pdf

flag = False
while not flag:
    dirname = input("請輸入圖片文件夾所在路徑(例如d:/wlzcool):")
    flag = os.path.exists(dirname)
    if not flag:
        print("圖片文件夾所在路徑不存在!")
saveflag = False
while not saveflag:
    savedirname = input("請輸入目標圖片文件夾所在路徑(例如d:/wlzcool2):")
    saveflag = os.path.exists(savedirname)
    if not saveflag:
        print("圖片文件夾所在路徑不存在!")
        automakedir = input("是否自動創建對應文件夾?(是Y/否N):")
        if automakedir.strip().upper() == "Y":
            os.makedirs(savedirname)
            saveflag = True
files = os.listdir(dirname)
reductionFactor = int(input("請輸入長寬壓縮比(例如3):"))
if reductionFactor = 0:
    reductionFactor = 3
isConvertBlack = input("是否輸出黑白版本?(是Y/否N):").strip().upper() == "Y"
for fname in files:
    if not fname.endswith(".jpg"):
        continue
    path = os.path.join(dirname, fname)
    savePath = os.path.join(savedirname, fname)
    if os.path.isdir(path):
        continue
    img = Image.open(path)    
    if img.size[0] > img.size[1]:
        im_rotate = img.rotate(90, expand=True)
        size = (int(im_rotate.size[0] / reductionFactor), int(im_rotate.size[1] / reductionFactor))
        im_rotate = im_rotate.resize(size)
        if isConvertBlack:
            im_rotate = im_rotate.convert("L")
        im_rotate.save(savePath, quality=95)
    else:
        size = (int(img.size[0] / reductionFactor), int(img.size[1] / reductionFactor))
        img = img.resize(size)
        if isConvertBlack:
            img = img.convert("L")
        img.save(savePath, quality=95)
filename = input("請輸入輸出文件名(例如:第一章):")
with open(filename + ".pdf", "wb") as f:
    imgs = []
    files = os.listdir(savedirname)
    for fname in files:
        if not fname.endswith(".jpg"):
            continue
        path = os.path.join(savedirname, fname)
        if os.path.isdir(path):
            continue
        imgs.append(path)
    f.write(img2pdf.convert(imgs))

整體代碼

寫成腳本需要考慮的有很多,為了方便使用,需要將各種參數改為允許用戶輸入的。比如圖片文件夾所在的路徑,壓縮比之類的

from PIL import Image
import os
import img2pdf

flag = False
while not flag:
    dirname = input("請輸入圖片文件夾所在路徑(例如d:/wlzcool):")
    flag = os.path.exists(dirname)
    if not flag:
        print("圖片文件夾所在路徑不存在!")
saveflag = False
while not saveflag:
    savedirname = input("請輸入目標圖片文件夾所在路徑(例如d:/wlzcool2):")
    saveflag = os.path.exists(savedirname)
    if not saveflag:
        print("圖片文件夾所在路徑不存在!")
        automakedir = input("是否自動創建對應文件夾?(是Y/否N):")
        if automakedir.strip().upper() == "Y":
            os.makedirs(savedirname)
            saveflag = True
files = os.listdir(dirname)
reductionFactor = int(input("請輸入長寬壓縮比(例如3):"))
if reductionFactor = 0:
    reductionFactor = 3
isConvertBlack = input("是否輸出黑白版本?(是Y/否N):").strip().upper() == "Y"
for fname in files:
    if not fname.endswith(".jpg"):
        continue
    path = os.path.join(dirname, fname)
    savePath = os.path.join(savedirname, fname)
    if os.path.isdir(path):
        continue
    img = Image.open(path)    
    if img.size[0] > img.size[1]:
        im_rotate = img.rotate(90, expand=True)
        size = (int(im_rotate.size[0] / reductionFactor), int(im_rotate.size[1] / reductionFactor))
        im_rotate = im_rotate.resize(size)
        if isConvertBlack:
            im_rotate = im_rotate.convert("L")
        im_rotate.save(savePath, quality=95)
    else:
        size = (int(img.size[0] / reductionFactor), int(img.size[1] / reductionFactor))
        img = img.resize(size)
        if isConvertBlack:
            img = img.convert("L")
        img.save(savePath, quality=95)
filename = input("請輸入輸出文件名(例如:第一章):")
with open(filename + ".pdf", "wb") as f:
    imgs = []
    files = os.listdir(savedirname)
    for fname in files:
        if not fname.endswith(".jpg"):
            continue
        path = os.path.join(savedirname, fname)
        if os.path.isdir(path):
            continue
        imgs.append(path)
    f.write(img2pdf.convert(imgs))

將腳本打包成exe

不是所有的電腦都有Python環境,我們需要將腳本打包成exe方便在任意一臺電腦上使用。 使用 PyInstaller 來進行腳本的打包

安裝 PyInstaller

pip install pyinstaller

打包腳本

在腳本所在的路徑的cmd中執行以下命令即可

pyinstaller -F yourprogram.py

總結

人生苦短,我用 Python,在強大的第三方庫幫助下,我們只需很少的時間就可以開發一個很有意思的小功能。

以上就是Python 多張圖片合并成一個pdf的參考示例的詳細內容,更多關于Python 圖片合并成pdf的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • python解析PDF程序代碼
  • python實現csdn全部博文下載并轉PDF
  • Python合并多張圖片成PDF
  • Python提取PDF指定內容并生成新文件
  • 詳解用Python把PDF轉為Word方法總結
  • python操作mysql、excel、pdf的示例
  • python pdfkit 中文亂碼問題的解決方案
  • python 三種方法提取pdf中的圖片
  • Python實現給PDF添加水印的方法
  • Python讀取pdf表格寫入excel的方法

標簽:吉林 長春 岳陽 清遠 洛陽 泉州 安慶 怒江

巨人網絡通訊聲明:本文標題《Python 多張圖片合并成一個pdf的參考示例》,本文關鍵詞  Python,多張,圖片,合并,成,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python 多張圖片合并成一個pdf的參考示例》相關的同類信息!
  • 本頁收集關于Python 多張圖片合并成一個pdf的參考示例的相關信息資訊供網民參考!
  • 推薦文章
    久久久久无码国产精品| 国产毛片一区二区| 欧美高清性xxxxhd| 日韩欧美国产一区二区| 久久亚洲二区| 色综合影院在线观看| 疯狂做受xxxx欧美肥白少妇| 亚洲精品国产第一综合99久久| 精品国产亚洲av麻豆| 久久亚洲精品毛片| 一个色综合网站| 777777国产7777777| 91沈先生作品| 精品成人一区二区三区| 在线播放日韩导航| 亚洲风情亚aⅴ在线发布| 中文字幕av一区中文字幕天堂| 亚洲精品国产免费| 在线免费观看成人短视频| 美女在线一区二区| 极品白嫩少妇无套内谢| 18成人在线| 精品调教chinesegay| 国产又粗又猛视频| 一级性生活视频| 国产精品99久久久久久大便| 成人激情视频在线| 91豆麻精品91久久久久久| 久久精品av麻豆的观看方式| 久久久久久久中文| 欧美精品电影免费在线观看| 精品福利在线视频| jizz一区二区| 亚洲美女福利视频| 亚洲丝袜在线观看| 国产精品三级久久久久久电影| 一区二区三区在线免费| av午夜一区麻豆| 台湾无码一区二区| 色综合久久久久网| 久久激情免费视频| 91青青草免费在线看| 久久久久久久久久久免费精品| 欧美成人福利视频| 亚洲人成电影网站色mp4| 激情小说亚洲一区| 久久久久青草大香线综合精品| 亚洲一二三区视频在线观看| 91麻豆精品91久久久久同性| 日韩精品在线免费播放| 欧美午夜电影在线播放| 激情综合网最新| 国产女人18毛片18精品| 中文字幕第28页| 老熟妇高潮一区二区三区| 精品国产二区在线| 亚洲视频1区2区| 狠狠色狠狠色综合日日91app| 国产黄色片在线| 制服丝袜综合日韩欧美| 7777精品久久久大香线蕉| 国产精品一区2区| 一级黄色免费视频| 日本a级片电影一区二区| 一区二区三区四区国产精品| 99re热这里只有精品视频| 国产又粗又黄又猛| 95av在线视频| 亚洲va国产va欧美va观看| 国产精品久久久久久在线 | 国产精品久久无码| 国产不卡av在线免费观看| 波多野结衣一区二区三区| 久久9精品区-无套内射无码| 色悠悠久久88| 国产在线视频不卡二| 999精彩视频| 最新国产精品亚洲| 久久亚洲风情| 永久免费的av网站| 精品国产一区二区三区久久狼5月 精品国产一区二区三区久久久狼 精品国产一区二区三区久久久 | 这里只有精品久久| 国模无码大尺度一区二区三区| 亚洲精品蜜桃久久久久久| 亚洲精品乱码久久久久久按摩观| www.好吊色| 日本午夜精品一区二区三区| 欧美不卡一区二区| 亚洲欧美综合在线观看| 天天想你在线观看完整版电影免费| 亚洲精品一区二区三区蜜桃下载| 乱精品一区字幕二区| 五月天av在线播放| 国模私拍视频一区| 久久久五月婷婷| jizz国产在线| 波多野结衣xxxx| 欧美在线性爱视频| 亚洲va欧美va国产va天堂影院| 国产亚洲精品久久777777| 成人免费在线看片| 一区二区三区国产在线观看| 日韩黄色免费观看| 国内自拍中文字幕| 69av在线播放| 欧美成人欧美edvon| 奇米777欧美一区二区| 小泽玛利亚一区| 视色,视色影院,视色影库,视色网| 久久激情视频久久| 一本色道久久综合亚洲aⅴ蜜桃 | 26uuu久久噜噜噜噜| 亚洲视频免费观看| а√天堂资源在线| 私密视频在线观看| 欧美精品成人一区二区在线观看| 在线不卡一区二区| 蜜乳av一区二区| 久久网中文字幕| 91.com在线| 国产精品2018| 日韩欧美色综合网站| 国产一区二区视频在线| 91网站免费视频| 亚洲最大福利视频| 国产丝袜一区视频在线观看| 大美女一区二区三区| 国产伦精品一区二区三区免.费| 四川一级毛毛片| 国产麻豆乱码精品一区二区三区 | 国产精品视频一二三区| 精品国产亚洲AV| 波多野结衣加勒比| 国产精品久久精品视| 欧美在线xxx| 日韩精品欧美国产精品忘忧草 | 亚洲欧美中文日韩在线v日本| 亚洲综合色成人| 日韩综合小视频| 国产精品久久久久久在线| 美国一级黄色录像| 三区视频在线观看| 国产欧美日韩综合一区在线观看 | 可以在线看的黄色网址| 91福利入口| 欧美激情喷水视频| 日韩在线观看免费网站| 日韩精品在线免费| 日韩欧美精品中文字幕| 亚洲国产成人午夜在线一区| 中文字幕理论片| 国产精品 欧美激情| 黄色动漫在线免费看| 欧美日韩精品不卡| 91手机在线播放| 欧美成人免费播放| 日韩电影中文字幕av| 香蕉乱码成人久久天堂爱免费| 粉嫩一区二区三区性色av| 国产又粗又猛又爽又| 欧美黄色aaa| 五月天丁香社区| 中文字幕乱码免费| 成人自拍网站| 2014亚洲精品| 欧美日韩第一视频| 久久精品亚洲精品| 爽爽爽爽爽爽爽成人免费观看| 欧美精品日日鲁夜夜添| 日韩欧美国产成人| 亚洲一区二区精品3399| 国产一区欧美二区| 国产精品亚洲第一区在线暖暖韩国| 国产日本精品视频| 日本熟妇成熟毛茸茸| xxxx日本黄色| aa片在线观看视频在线播放| 日本理论中文字幕| 日本性高潮视频| 日本人亚洲人jjzzjjz| 国产精品国产三级国产传播| 国产精品1234区| 成人18视频免费69| av在线免费播放网址| 亚洲天堂成人av| av永久免费观看| 精品少妇一二三区| 国产性生活视频| av综合在线观看| 肉丝袜脚交视频一区二区| 国产成人精品免费一区二区| 国产成人精品一区二| www.成人在线| 成人在线综合网| 日本一区二区三级电影在线观看 | 久久久久久99| 日韩国产一区久久| 青青草手机视频在线观看| 婷婷久久综合九色综合伊人色| 337p粉嫩大胆噜噜噜鲁| aaa亚洲精品| 亚洲欧美在线一区| 精产国品一区二区三区| 在线不卡av电影| 国产日产精品一区二区三区| 免费国产羞羞网站视频| 成人性色生活片免费看爆迷你毛片| 国产精品乱码一区二区三区软件| 亚洲人精品午夜| 欧美亚洲动漫精品| 亚洲免费精彩视频| 日韩一区欧美小说| 精品国产一区a| 一区二区三区高清国产| 色偷偷亚洲男人天堂| 国产欧美韩日| 欧美亚洲日本在线观看| 亚洲成人激情小说| 97在线观看免费视频| 色老头在线视频| 日韩一区二区三区在线观看视频 | 亚洲社区在线观看| 久久久久久香蕉网| 国产主播在线一区| 国产精品网站免费| 国产精品久久久免费看| 一本一道精品欧美中文字幕| 波波电影院一区二区三区| 欧美色电影在线| 国产成人精品久久| 色综合电影网| 欧美精品videos极品| 在线视频1卡二卡三卡| 亚洲色图都市小说| 精品捆绑美女sm三区| 蜜桃av久久久亚洲精品| 免费看的黄色录像| 蜜臀av性久久久久蜜臀av麻豆| 亚洲国产欧美在线人成| 97精品久久久| 少妇高潮毛片色欲ava片| 国产一级av毛片| 久久成人小视频| 日本不卡一二三区黄网| 亚洲午夜视频在线| 欧美激情免费看| 久久福利一区二区| 青青青手机在线视频| 国产自产视频一区二区三区| 欧美剧在线免费观看网站 | 久久久久99精品成人片我成大片| 亚洲AV无码精品国产| 日韩欧美在线观看| 97香蕉超级碰碰久久免费的优势| 欧美少妇一级片| 欧美狂猛xxxxx乱大交3| 麻豆成人综合网| 欧美午夜精品理论片a级按摩| 欧洲亚洲免费在线| 日本三级免费网站| 伊人久久亚洲综合| 亚洲欧洲无码一区二区三区| 欧美高清性猛交| 亚洲精品成人在线播放| 亚洲av无码乱码在线观看性色| 五月天激情综合| 国产一区二区在线播放| 亚洲高清av一区二区三区| 日韩va亚洲va欧美va久久| 91精品啪在线观看国产60岁| 亚洲综合精品一区二区| 色噜噜狠狠一区二区三区狼国成人| 日韩在线卡一卡二| 亚洲黄页网在线观看| 国产欧美日韩伦理| 国产又粗又爽视频| 亚洲猫色日本管| 91九色偷拍| 久久高清内射无套| 欧美日韩午夜在线| 国产中文字幕91| 素人fc2av清纯18岁| 成人福利电影精品一区二区在线观看| 日韩国产中文字幕| 99在线免费视频观看| 亚洲精品国偷拍自产在线观看蜜桃| 欧美一区二区三区四区在线观看| 男人添女荫道口喷水视频| 国产伦精品一区二区三区视频痴汉 | 玖玖精品在线视频| 国产成人午夜精品5599| 国产又黄又猛视频| 日韩精品一区二区三区三区免费| 亚洲综合在线网站| 韩国一区二区三区| 日韩av123| 欧美a在线播放| 亚洲一区二区三区四区五区中文 | 日本少妇高潮喷水xxxxxxx| 国产精品成人一区二区三区夜夜夜| 国产精品7m视频| 中文字幕第69页| 狠狠做深爱婷婷久久综合一区| 国外成人在线视频网站| 精品人妻无码一区二区性色| 亚洲韩国青草视频| 国内自拍视频一区| eeuss国产一区二区三区| 亚洲va久久久噜噜噜久久天堂| 国产一级在线视频| 精品视频久久久| 一级日本黄色片| 亚洲欧洲在线观看av| 欧美精品一区二区三区在线四季 | 国产精品一区2区| 日韩一区二区在线视频| 国产123在线| 欧美性大战久久久| 国产污在线观看| 自拍偷拍亚洲综合| 成年人黄色片视频| 中文字幕不卡三区| 黄色免费福利视频| 91免费版在线| 国产极品尤物在线| 久久人人爽人人爽| 日韩和欧美的一区二区| 久久国产精品99久久久久久老狼| 国产精品亚洲аv天堂网| 久久一区亚洲| 成人在线小视频| 精品在线一区二区三区| 亚洲va欧美va在线观看| 色欲av伊人久久大香线蕉影院| 国产成人精品久久二区二区91| 青青草国产精品亚洲专区无| 久久精品二区| 麻豆国产精品视频| 永久久久久久| 国产精品萝li| 亚洲欧美日韩网站| 欧美一级片在线| 欧美亚一区二区三区| 日韩精品一区二区三区swag| 女人18毛片毛片毛片毛片区二| 4438x成人网最大色成网站| 俄罗斯毛片基地| 欧美极品少妇xxxxⅹ裸体艺术| 亚洲天堂男人网| 国产精品久久在线观看| 天堂av在线一区| 欧美亚洲精品日韩| 91丝袜高跟美女视频| 丰满人妻一区二区三区53号 | 成人av在线播放网址| 中文字幕欧美日韩一区二区三区| 国产日韩av一区二区| 午夜诱惑痒痒网| 亚洲精品98久久久久久中文字幕| 久久久久久久亚洲| 91精品网站| 国产精品美女一区二区三区 | 精品国产一区二区三区四区在线观看 | 无限资源日本好片| 欧美精品乱码久久久久久| 豆国产97在线 | 亚洲| 国产精品成人v| 激情五月激情综合网| www日韩在线观看| 在线亚洲一区观看| 91精品一区二区三区蜜桃| 欧美黄色片在线观看| 盗摄精品av一区二区三区| 2022中文字幕| 日韩精品最新网址| 国产情侣小视频| 久中文字幕一区| 日韩高清不卡一区二区三区| 黄色一级视频片| 日韩www在线| 国产男女裸体做爰爽爽| 中文字幕中文字幕一区三区| 91精品在线观看入口| 免费av网站观看| av在线播放成人| 亚洲欧美日韩精品| 农村寡妇一区二区三区| 国产一区二区三区四区在线| 激情六月婷婷综合| 亚洲成人a级网| 欧美日韩免费精品| 久艹在线观看视频| 99久久综合精品| 中文字幕日韩高清| 伊人再见免费在线观看高清版| 天天操天天干视频| 国产精品福利一区| 久久久久国产视频| 亚洲免费看av| 午夜视频在线免费播放| 91精品在线观看入口| 欧美精品免费观看二区| 丰满少妇高潮久久三区| 国产精品毛片无遮挡高清| 国内精品伊人久久| 手机精品视频在线| 久久激情五月激情| 亚洲四色影视在线观看| 97超碰在线人人| 国产成人精品av在线观|