from pdf2docx import Converter

import PySimpleGUI as sg

import datetime

curr_time=datetime.datetime.now()

time = datetime.datetime.strftime(curr_time, '%Y-%m-%d %H:%M:%S')

time1 = datetime.datetime.strftime(curr_time, '%Y年%m月%d日')

def pdf2word(file_path):

file_name = file_path.split('.')[0]

doc_file = f'{file_name}.docx'

p2w = Converter(file_path)

p2w.convert(doc_file, start=0, end=None)

p2w.close()

return doc_file

def main():

# 选择主题

#sg.theme('BlueMono')

# 设置窗口

layout = [

[sg.Text('你选择的文件:', font=("微软雅黑", 10)),

sg.Text('', key='filename', size=(75, 1), font=('微软雅黑 ', 10))],

[sg.Text('文件转换记录', font=('微软雅黑', 10))],

[sg.Output(size=(80, 10), font=('微软雅黑', 10))],

[sg.FilesBrowse('请选择要转换的PDF文件', key='file', target='filename'), sg.Button('开始转换成word文档'), sg.Button('退 出')]]

# 创建窗口

window = sg.Window("欢迎使用PDFtoWord小工具 by琴棋书画 今天是:{}".format(time1), layout, font=("微软雅黑", 12), default_element_size=(50, 1),icon=('图标.png'))

# 事件循环

while True:

# 窗口的读取,有两个返回值(1.事件;2.值)

event, values = window.read()

print(event, values)

if event == "开始转换成word文档":

# 单个文件

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()

if __name__=='__main__':

main()