Python3将jpg转为pdf文件的方法示例
2020-02-13 13:50
344 查看
本文实例讲述了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转换html到pdf的不同解决方案
- python3如何将docx转换成pdf文件
- python将html转成PDF的实现代码(包含中文)
- Python 将pdf转成图片的方法
- python使用reportlab实现图片转换成pdf的方法
- python批量实现Word文件转换为PDF文件
- Python实现批量把SVG格式转成png、pdf格式的代码分享
- windows下Python实现将pdf文件转化为png格式图片的方法
- 用python 制作图片转pdf工具
- Python中使用PyQt把网页转换成PDF操作代码实例
- Python使用到第三方库PyMuPDF图片与pdf相互转换
- python爬虫实现教程转换成 PDF 电子书
相关文章推荐
- 利用Python将时间或时间间隔转为ISO 8601格式方法示例
- Python实现繁體转为简体的方法示例
- python使用pandas处理excel文件转为csv文件的方法示例
- Python实现PyPDF2处理PDF文件的方法示例
- python中nan与inf转为特定数字方法示例
- python opencv将图片转为灰度图的方法示例
- python实现爬取百度图片的方法示例
- Python搭建机器学习环境+库的使用方法+一些示例
- Python走楼梯问题解决方法示例
- Python 保持登录状态进行接口测试的方法示例
- Python实现公历(阳历)转农历(阴历)的方法示例
- Python实现按特定格式对文件进行读写的方法示例
- Python基于Matplotlib库简单绘制折线图的方法示例
- python中的句柄操作的方法示例
- python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
- Python判断变量名是否合法的方法示例
- python使用IP代理示例及出错解决方法
- Python实现合并同一个文件夹下所有PDF文件的方法示例
- Python图像处理之简单画板实现方法示例
- Python中用post、get方式提交数据的方法示例