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

Posted pzf9266

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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")























































以上是关于python 将文件夹内的图片转换成PDF的主要内容,如果未能解决你的问题,请参考以下文章

将pdf文件转换成jpg图片

用PDF编辑器将图片转换成PDF文件的诀窍

python,多图片转换成pdf文件

扫描的图片如何转换成一个PDF文件

pdf在线怎样转图片

怎样将pdf文件转换成图片,pdf转图片的小技巧