pdf文件转换word文件
今天逛B站,给推送了一个
【办公自动化】Python实现PDF转Word
的视频,up主讲解的非常详细,在此非常感谢!
感兴趣的可以看一下 : 视频链接
在此把视频中涉及的代码粘出来,方便后续查阅。
前提:
代码中涉及到的插件为pdf2docx
和pysimplegui
,可以在终端中使用pip install
命令自行安装。
另外,代码写完后,如果想给打包成exe
文件,具体方法可以查看我另一篇文章。
Python打包exe------>Pyinstaller插件
# -*- coding: UTF-8 -*-
from pdf2docx import Converter
import PySimpleGUI as sg
class Pdf2Word():
"""
@ClassName: Pdf2Word
@Description: pdf 转 word功能
"""
def __init__(self):
"""
@MethodName: __init__(self):
@Description: 初始化
"""
pass
def pdf2word(self,pdf_filepath:str):
"""
@MethodName: pdf2word
@Description: 转换的主要功能
:param pdf_filepath 转换后的文件存储路径
"""
# 获取到pdf的文件名字
pdf_filename = pdf_filepath.split('.')[0]
docx_file = f'{
pdf_filename}.docx'
p2w = Converter(pdf_filepath)
p2w.convert(docx_file,start=0,end=None)
p2w.close()
return docx_file
def main(self):
"""
@MethodName: main
@Description: 创建窗口
"""
# 设置主题
sg.theme('BlueMono')
# 设置窗口布局
layout = [
# sg.Text 设置文本布局
[sg.Text('PDF转Word',font=('微软雅黑',12)),
sg.Text('',key='filename',size=(50,1),font=('微软雅黑',10),text_color='blue')],
# sg.Output() 设置窗口中print输出的地方
[sg.Output(size=(80,10),font=('微软雅黑',10))],
[sg.FileBrowse('选择文件',key='file',target='filename'),
sg.Button('开始转换'),
sg.Button('退出')]
]
# 创建窗口
window = sg.Window('pdf转换word',layout,font=('微软雅黑',15),default_element_size=(50,1))
while True:
# window.read()获取窗口的event按钮事件等,values是输入的值
event,values = window.read()
if event in (None,'退出'):
break
if event == '开始转换':
if values['file'] and values['file'].split('.')[1] == 'pdf':
file_path = self.pdf2word(values['file'])
print('\n' + '转换成功' + '\n')
print('word文件位置在:',file_path)
else:
print('未选取文件或文件不是pdf格式\n请重新选择文件')
window.close()
def __call__(self, *args, **kwargs):
"""
@MethodName: __call__(self, *args, **kwargs):
@Description: 执行操作
"""
# 选择主题
self.main()
if __name__ == '__main__':
# 选择主题
pdf2word = Pdf2Word()
pdf2word()
如有错误,欢迎评论或私信指正,感谢