python pdf文件转换word文件

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

如有错误,欢迎评论或私信指正,感谢
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个小坑货

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值