[Work Summary] Python将PDF转换成Word文档

美图欣赏2022/08/21

在我们平时的工作和日常生活中,有时候需要将PDF文件转换成Word文件。为此,决定使用Python自己实现将PDF转换成Word文档的功能需求

编写如下程序代码(pdf2word.py):

# python脚本文件pdf2word.py
from pdf2docx import Converter
import PySimpleGUI as sg

def pdf2word(file_path):
    '''
    pdf转word函数
    '''
    file_name = file_path.split('.')[0]
    doc_file = f'{file_name}.docx'
    p2w = Converter(file_path)
    # 指定pdf从第0页开始转换到最后一页
    p2w.convert(doc_file, start=0, end=None)
    p2w.close()
    return doc_file


def main():
    # 主函数,设计窗口
    # 设置窗口样式,选择主题
    sg.theme('BluePurple')
    
    layout = [
        [sg.Text('pdfToword', font=('微软雅黑', 12)),
         sg.Text('', key='filename', size=(50, 1), font=('微软雅黑', 10), text_color='blue')],
        [sg.Output(size=(80, 10), font=('微软雅黑', 10))],
        [sg.FilesBrowse('选择文件', key='file', target='filename'), sg.Button('开始转换'), sg.Button('退出')]]
    # 创建窗口
    window = sg.Window("PDF转换成Word文档", layout, font=("微软雅黑", 15), default_element_size=(50, 1))
    # 事件循环
    while True:
        # 窗口的读取,有两个返回值(1.事件;2.值)
        event, values = window.read()
        print(event, values)

        if event == "开始转换":

            if values['file'] and values['file'].split('.')[1] == 'pdf':
                filename = pdf2word(values['file'])
                print('文件个数 :1')
                print('\n' + '转换成功!' + '\n')
                print('文件保存位置:', filename)
            elif values['file'] and values['file'].split(';')[0].split('.')[1] == 'pdf':
                print('文件个数 :{}'.format(len(values['file'].split(';'))))
                for f in values['file'].split(';'):
                    filename = pdf2word(f)
                    print('\n' + '转换成功!' + '\n')
                    print('文件保存位置:', filename)
            else:
                print('请选择pdf格式的文件哦!')
        if event in (None, '退出'):
            break

    window.close()

main()

呈现结果如下所示

[Work Summary] Python将PDF转换成Word文档_第1张图片

将该pdf文件转换成word文档

[Work Summary] Python将PDF转换成Word文档_第2张图片

点击【选择文件】按钮,弹出"打开"窗口,选择要转换的pdf文件并进行打开

[Work Summary] Python将PDF转换成Word文档_第3张图片

点击【开始转换】按钮

[Work Summary] Python将PDF转换成Word文档_第4张图片

转换成功

[Work Summary] Python将PDF转换成Word文档_第5张图片

[Work Summary] Python将PDF转换成Word文档_第6张图片

你可能感兴趣的:(Work,Summary,python)