码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • python程序将pdf转word


    pdf2word

    • 创建虚拟环境
    • 激活虚拟环境
    • 安装三个库
    • 打包代码

    创建虚拟环境

    conda create -n env_pdf python=3.8
    
    • 1

    激活虚拟环境

    conda  activate env_pdf
    
    • 1

    安装三个库

    pip install pdf2docx
    pip install pysimplegui
    pip install pyinstaller
    
    • 1
    • 2
    • 3
    import PySimpleGUI as sg
    from pdf2docx import Converter
    import re
    
    # 传入文件绝对路径
    def pdf_to_word(fileName):
        pdf_file = fileName
        #正则获取不含文件类型后缀的部分,用于组成word文档绝对路径
        name = re.findall(r'(.*?)\.',pdf_file)[0]
        docx_file = f'{name}.docx'
    
        cv = Converter(pdf_file)
        cv.convert(docx_file, start=0, end=None)
        cv.close()
        
    # 主题设置
    sg.theme('DarkTeal7')
    
    # 布局设置
    layout = [
              [sg.Text('待转换的文件是:',font=("微软雅黑", 12)),sg.Text('',key='filename',size=(50,1),font=("微软雅黑", 10),text_color='blue')],
              [sg.Text('程序操作记录',justification='center')],
              [sg.Output(size=(80, 20),font=("微软雅黑", 10))],                
              [sg.FileBrowse('选择文件',key='file',target='filename'),sg.Button('开始转换'),sg.Button('关闭程序')]
            ]
    
    # 创建窗口
    window = sg.Window('pdf转word工具,pdf文件名不能有中文', layout,font=("微软雅黑", 15),default_element_size=(50,1))    
    
    # 事件循环
    while True:
        event, values = window.read()
        if event in (None, '关闭程序'):
            break
        if event == '开始转换':
            if values['file'] and re.findall(r'\.(\S+)',values['file'])[0]=='pdf':
                fileName = values['file']
                pdf_to_word(fileName)
                print('\n----------转换完成----------\n')
            else:
                print('文件未选取或文件非pdf文件\n请先选择文件')
    window.close()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    打包代码

    pyinstaller -F -w pdf2word.py
    
    • 1

    借鉴原文链接:https://posts.careerengine.us/p/61617407be69856d63c95f22

  • 相关阅读:
    一元多项式的乘法与加法运算
    终端仿真软件连接交换机调试步骤
    [附源码]java毕业设计“云味坊”购物网站
    【JDBC篇】 preparedStatement和Statement区别
    采集Nginx日志的几种方式
    448. 找到所有数组中消失的数字
    c++day5---9.12
    C数据结构-翻转指针法、头插法实现单链表反转
    【AtomicBoolean】常规用法
    Vue2前端权限控制实战
  • 原文地址:https://blog.csdn.net/admindev/article/details/127767670
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号