JPG2PDF

作者: Noza_ea8f | 来源:发表于2020-08-27 15:57 被阅读0次
    import PySimpleGUI as sg
    from lib.func import jpg2pdf
    
    layout = [[sg.Text('选择"JPG图片"文件夹')], [sg.Input(), sg.FolderBrowse('浏览')],
              [sg.Text('选择"PDF"输出"文件夹')], [sg.Input(), sg.FolderBrowse('浏览')],
              [sg.Button('开始处理'), sg.Button('     关闭     ')]]
    
    window = sg.Window('JPG2PDF', layout, icon='icon/bomb64.ico')
    while True:
        event, values = window.read()
        path_jpg = str(values[0]) + '/'
        path_pdf = str(values[1]) + '/'
    
        # print(path_jpg)
        # print(path_pdf)
        if event in (None, '     关闭     '):
            break
        try:
            jpg2pdf(img_path=path_jpg, pdf_path=path_pdf)
            sg.Popup('程序执行完毕!', no_titlebar=True)
        except Exception as e:
            sg.Popup('请检查选择的文件路径是否正确!', no_titlebar=True)
    
    window.close()
    
    # pyinstaller -F -w jpg2pdf.py --noconsole
    

    func.py

    import glob
    import fitz  # 导入本模块需安装pymupdf库
    import os
    
    
    def jpg2pdf(img_path, pdf_path):
        '''
        将文件夹中所有jpg图片分别转换为同一名称的pdf文件,并保存至指定文件夹
        :param img_path: 
        :param pdf_path: 
        :return: 
        '''
        for img in glob.glob(img_path + "\*.jpg"):
            file_name = os.path.basename(img).replace('jpg', 'pdf')
            doc = fitz.open()
            imgdoc = fitz.open(img)
            pdfbytes = imgdoc.convertToPDF()
            imgpdf = fitz.open("pdf", pdfbytes)
            doc.insertPDF(imgpdf)
            doc.save(pdf_path + '\\' + file_name)
            doc.close()
    
    
    img_path = 'jpg'
    pdf_path = 'pdf'
    jpg2pdf(img_path, pdf_path)
    

    相关文章

      网友评论

          本文标题:JPG2PDF

          本文链接:https://www.haomeiwen.com/subject/zbncsktx.html