一文教会你用Python实现pdf转word

 更新时间:2023年01月04日 10:49:04   作者:Josepyth  
python实现pdf转word,支持中英文转换,转换精度高,可以达到使用效果,下面这篇文章主要给大家介绍了关于用Python实现pdf转word的相关资料,需要的朋友可以参考下

一、实验目标

通过利用python中的pyinstaller库和PySimpleGUI库,实现将pdf转为word的实际功能。

二、实验准备

1、安装pdf2docx库

pip install pdf2docx

2、安装PySimpleGUI库

pip install PySimpleGUI

三、实验代码

from pdf2docx import Converter
import PySimpleGUI as sg
 
 
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('DarkAmber')
 
    layout = [
        [sg.Text('pdfToword', font=('微软雅黑', 12)),
         sg.Text('', key='filename', size=(50, 1), font=('微软雅黑', 10))],
        [sg.Output(size=(80, 10), font=('微软雅黑', 10))],
        [sg.FilesBrowse('选择文件', key='file', target='filename'), sg.Button('开始转换'), sg.Button('退出')]]
    # 创建窗口
    window = sg.Window("张卧虎", 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()

四、部分代码解析

1、pdf转word代码主体部分

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

convert(doc_file,start,end)函数中

doc_file:转化完成后文件名

start:转化开始页面

end:转化结束页面

注意点:

①若不给start,end参数则默认转化全篇

②对于不连续的页面,也可写作convert(doc_file , pages = [2,4,6])

2、图形化界面部分

sg.theme('default1')
layout = [[sg.Text('pdfToword', font=('微软雅黑', 12)),
        sg.Text('', key='filename', size=(50, 1), font=('微软雅黑', 10))],
        [sg.Output(size=(80, 10), font=('微软雅黑', 10))],
        [sg.FilesBrowse('选择文件', key='file', target='filename'), sg.Button('开始转换'),sg.Button('退出')]]
window = sg.Window("id", layout, font=("微软雅黑", 15), default_element_size=(50, 1))

theme表示主题,即图形化界面的主题颜色(sg.theme_list()可以查看所有可用主题)

3、实现多个文件转化

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处,通过“.”进行划分,判断是否为单个且pdf格式文件

②else if处,通过“;”划分,将所有文件的存储路径储存在一个数组中,利用循环来遍历数组,从而达到依次转化的目的

③else处,若传入非pdf文件则输出提示文字

五、结果

220220a570b445aea523fc3ea03f0c6f.png

完结撒花!

总结

到此这篇关于用Python实现pdf转word的文章就介绍到这了,更多相关Python实现pdf转word内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python基于opencv的简单图像轮廓形状识别(全网最简单最少代码)

    Python基于opencv的简单图像轮廓形状识别(全网最简单最少代码)

    这篇文章主要介绍了基于opencv的简单图像轮廓形状识别(全网最简单最少代码),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • Python模块学习 re 正则表达式

    Python模块学习 re 正则表达式

    今天学习了Python中有关正则表达式的知识。关于正则表达式的语法,不作过多解释,网上有许多学习的资料。这里主要介绍Python中常用的正则表达式处理函数
    2011-05-05
  • python 实现压缩和解压缩的示例

    python 实现压缩和解压缩的示例

    这篇文章主要介绍了python 实现压缩和解压缩的示例,帮助大家更好的利用python处理文件,感兴趣的朋友可以了解下
    2020-09-09
  • python实现简单井字棋小游戏

    python实现简单井字棋小游戏

    这篇文章主要为大家详细介绍了python实现简单井字棋小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-03-03
  • python 实现图片批量压缩的示例

    python 实现图片批量压缩的示例

    这篇文章主要介绍了python 实现图片批量压缩的示例,帮助大家更好的利用python处理图片,感兴趣的朋友可以了解下
    2020-12-12
  • 各种Python库安装包下载地址与安装过程详细介绍(Windows版)

    各种Python库安装包下载地址与安装过程详细介绍(Windows版)

    这篇文章主要介绍了Windows版的各种Python库安装包下载地址与安装过程详细介绍,本文给大家提供了windows版的各种Python库安装包下载地址等相关知识,非常不错具有参考借鉴价值,需要的朋友可以参考下
    2016-11-11
  • pandas中pd.groupby()的用法详解

    pandas中pd.groupby()的用法详解

    本文主要介绍了pandas中pd.groupby()的用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧<BR>
    2022-06-06
  • Python函数式编程指南(二):从函数开始

    Python函数式编程指南(二):从函数开始

    这篇文章主要介绍了Python函数式编程指南(二):从函数开始,本文讲解了定义一个函数、使用函数赋值、闭包、作为参数等内容,需要的朋友可以参考下
    2015-06-06
  • Python之文字转图片方法

    Python之文字转图片方法

    今天小编就为大家分享一篇Python之文字转图片方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • Python在Scrapy中设置采集深度的实现

    Python在Scrapy中设置采集深度的实现

    Scrapy是一个功能强大的Python爬虫框架,通过设置采集深度,可以优化爬虫效率,并防止爬虫陷入无尽的链接循环,本文详细介绍了如何在Scrapy中控制采集深度,感兴趣的可以了解一下
    2024-10-10

最新评论