python pdf文件转换word文件

python pdf文件转换word文件,第1张

pdf文件转换word文件
今天逛B站,给推送了一个 【办公自动化】Python实现PDF转Word 的视频,up主讲解的非常详细,在此非常感谢!

感兴趣的可以看一下 : 视频链接
在此把视频中涉及的代码粘出来,方便后续查阅。

前提:
代码中涉及到的插件为pdf2docxpysimplegui,可以在终端中使用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()

如有错误,欢迎评论或私信指正,感谢

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/917301.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存