神剑山庄资源网 Design By www.hcban.com
本文实例讲述了Python3将jpg转为pdf文件的方法。分享给大家供大家参考,具体如下:
#coding=utf-8 #!/usr/bin/env python """ convert image to pdf file """ #Author: mrbeann import os import sys import glob import platform from reportlab.lib.pagesizes import letter, A4, landscape from reportlab.platypus import SimpleDocTemplate, Image from reportlab.lib.units import inch from reportlab.pdfgen import canvas from reportlab import rl_settings from PIL import Image import importlib,sys #importlib.reload(sys) #sys.setdefaultencoding("utf-8") def topdf(path,recursion=None,pictureType=None,sizeMode=None,width=None,height=None,fit=None,save=None): """ Parameters ---------- path : string path of the pictures recursion : boolean None or False for no recursion True for recursion to children folder wether to recursion or not pictureType : list type of pictures,for example :jpg,png... sizeMode : int None or 0 for pdf's pagesize is the biggest of all the pictures 1 for pdf's pagesize is the min of all the pictures 2 for pdf's pagesize is the given value of width and height to choose how to determine the size of pdf width : int width of the pdf page height : int height of the pdf page fit : boolean None or False for fit the picture size to pagesize True for keep the size of the pictures wether to keep the picture size or not save : string path to save the pdf """ if platform.system() == 'Windows': path = path.replace('\\','/') if path[-1] != '/': path = (path + '/') if recursion == True: for i in os.listdir(path): if os.path.isdir(os.path.abspath(os.path.join(path, i))): topdf(path+i,recursion,pictureType,sizeMode,width,height,fit,save) filelist = [] if pictureType == None: filelist = glob.glob(os.path.join(path, '*.jpg')) else: for i in pictureType: filelist.extend(glob.glob(os.path.join(path, '*.'+i))) maxw = 0 maxh = 0 if sizeMode == None or sizeMode == 0: for i in filelist: im = Image.open(i) if maxw < im.size[0]: maxw = im.size[0] if maxh < im.size[1]: maxh = im.size[1] elif sizeMode == 1: maxw = 999999 maxh = 999999 for i in filelist: im = Image.open(i) if maxw > im.size[0]: maxw = im.size[0] if maxh > im.size[1]: maxh = im.size[1] else: if width == None or height == None: raise Exception("no width or height provid") maxw = width maxh = height maxsize = (maxw,maxh) if save == None: filename_pdf = path + path.split('/')[-2] else: filename_pdf = save + path.split('/')[-2] filename_pdf = filename_pdf + '.pdf' c = canvas.Canvas(filename_pdf, pagesize=maxsize ) l = len(filelist) for i in range(l): (w, h) =maxsize width, height = letter if fit == True: c.drawImage(filelist[i] , 0,0) else: c.drawImage(filelist[i] , 0,0,maxw,maxh) c.showPage() c.save() def main(): topdf(u'F:/gitplace/jpg2pdf/test',pictureType=['png','jpg'],save='F:/gitplace/jpg2pdf/test/新建文件夹') if __name__ == '__main__': main()
GitHub地址:https://github.com/mrbeann/jpg2pdf
更多Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
标签:
Python3,jpg,pdf
神剑山庄资源网 Design By www.hcban.com
神剑山庄资源网
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
神剑山庄资源网 Design By www.hcban.com
暂无Python3将jpg转为pdf文件的方法示例的评论...
更新日志
2024年09月30日
2024年09月30日
- 孙悦.1996-伙伴【正大国际】【WAV+CUE】
- 纪钧瀚《钢琴阅读时光 雨中书店聆听轻音乐》[FLAC/分轨][399.62MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[320K/MP3][87.4MB]
- 证声音乐图书馆《走向自然 疗心爵士乐》[FLAC/分轨][184.94MB]
- 陈慧娴.2018-Priscilla-Ism演唱会3CD(2024环球红馆40复刻系列)【环球】【WAV+CUE】
- 郑秀文.1999-我应该得到(国)【华纳】【WAV+CUE】
- 陈家慧.2011-钢琴酒吧2CD【龙吟唱片】【WAV+CUE】
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[320K/MP3][45.01MB]
- 证声音乐图书馆《雨季 蓝调吉他 Rainy Blues》[FLAC/分轨][109.13MB]
- 赞多《序章》[320K/MP3][45.54MB]
- 许巍.2004-每一刻都是崭新的【步升大风】【WAV+CUE】
- 群星.2024-四方馆影视原声带【韶愔音乐】【FLAC分轨】
- 陈雷.1997-安锁咧【金圆唱片】【WAV+CUE】
- 关淑怡.2013-MY.FAVORITE.SK.3CD【环球】【WAV+CUE】
- Sweety.2006-花言乔语【丰华】【WAV+CUE】