python 图片转pdf_python 将文件夹内的图片转换成PDF

import os

import string

from PIL import Image

from reportlab.lib.pagesizes import A4, landscape

from reportlab.pdfgen import canvas

import sys

def file_name(file_dir, suffix = ".jpg"):

L=[]

for root, dirs, files in os.walk(file_dir):

for file in files:

if os.path.splitext(file)[1] == suffix:

L.append(os.path.join(root, file))

return L

#f_pdf pdf file path ,include filename

#filedir pic file path

#suffix pic file suffix examples: .jpg

def conpdf(f_pdf , filedir, suffix):

(w, h) = landscape(A4)

c = canvas.Canvas(f_pdf, pagesize = landscape(A4))

fileList = file_name(filedir, suffix)

for f in fileList:

(xsize, ysize) = Image.open(f).size

ratx = xsize / w

raty = ysize / h

ratxy = xsize / (1.0 * ysize)

if ratx > 1:

ratx = 0.99

if raty > 1:

raty = 0.99

rat = ratx

if ratx < raty:

rat = raty

widthx = w * rat

widthy = h * rat

widthx = widthy * ratxy

posx = (w - widthx) / 2

if posx < 0:

posx = 0

posy = (h - widthy) / 2

if posy < 0:

pos = 0

c.drawImage(f, posx, posy, widthx, widthy)

c.showPage()

c.save()

print "Image to pdf success!"

if __name__ == '__main__':

if len(sys.argv)== 4:

conpdf(sys.argv[1], sys.argv[2], sys.argv[3])

elif len(sys.argv) == 3:

#default .jpg

conpdf(sys.argv[1], sys.argv[2])

else:

conpdf("C:\\Users\\pzf\\test.pdf", "c:\\magn", ".jpg")

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页