python 图片转 pdf

发布时间:2019-09-19 08:00:14编辑:auto阅读(1608)

    import os

    import sys

    from reportlab.lib.pagesizes import A4, landscape

    from reportlab.pdfgen import canvas


    '''

    遍历当前目录下所有的jpg文件,并按照文件夹名称合并成pdf文档

    python 3.4.4

    图片文件用数字按顺序命名

     

    '''


    def conpdf():

        #获取横向A4大小

        (w, h) = landscape(A4)

       #遍历当前目录

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

             #根据根目录名创建一个pdf

            c = canvas.Canvas(os.path.basename(root)+".pdf", pagesize = landscape(A4))

            #print(os.path.basename(root)+".pdf")

        #用于存放jpg文件

            jpg_list=[]

        #从文件列表中取出jpg文件放入到list中

            for p in files:

                #将jpg文件名存入列表

                if p[-4:] =='.jpg':

                    #jpg_list.append(root + "\\" +p)

                    jpg_list.append(p)

            #对文件名称排序

            jpg_list.sort(key=lambda x :int(x[:-4]))

            #print(jpg_list)

            for f in jpg_list:

                #按顺序把图片画到画布上

             

                c.drawImage(root + "\\"+f, 0, 0, w, h)

                #结束当前页并新建页

                c.showPage()

               

            c.save()

        

        print ("ok.")


    conpdf()


关键字