首页 > 编程语言 >python实现pdf转word

python实现pdf转word

时间:2023-08-08 20:44:46浏览次数:42  
标签:word python filename values split file print pdf sg

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


if __name__ == '__main__':
    main()

标签:word,python,filename,values,split,file,print,pdf,sg
From: https://www.cnblogs.com/bigzhangyu/p/17615328.html

相关文章

  • Python 装饰器
    装饰器的基本语法装饰器本质上就是“定义一个闭包并用语法糖@简练地调用该闭包”,从而实现把一个方法对象当做参数,传入到另一个方法中,然后返回一个增强功能的新方法对象。在Python中允许在一个方法中嵌套另一个方法,这种特殊的机制就叫做「闭包」,这个内部方法可以保留外部方法......
  • 软件测试|Python random模块,超乎想象的强大
    Python的random模块是一个非常强大的工具,用于生成随机数和随机选择。它提供了许多函数和方法,可以满足各种随机化需求。本文将介绍random模块的基本功能和常见用法,以帮助读者更好地理解和利用这个模块。返回整数random.randange()语法如下:random.randrange(stop)random.randrange(s......
  • Python中文件操作的详细使用:open()、os.open()和with open()
    前言在编程语言中,文件读写是最常见的IO操作,Python内置了读写文件的函数,其中包括open()函数、os.open()函数以及withopen()语句。本文将详细介绍这三种方法的使用方式、区别和最佳实践。open()open()函数是Python内置的用于打开文件的函数,它接受一个文件路径和打开模式作为参数,并返......
  • Docker(.Net6) 环境下使用 Haukcode.WkHtmlToPdfDotNet
     背景: 项目使用的是.Net6+Docker,需要将数据生成PDF保存到第三方文件存储服务器上。引用NuGet:Haukcode.WkHtmlToPdfDotNet 这个插件还是满好用的,支持Windows、Docker.可以直接通过Url转PDF,也可以通过Html字符,生成PDF.官方地址:https://github.com/Hak......
  • Python_GUI(pySide)开发指南(@Like)
    Python_GUI(pySide)开发指南(@Like) 目录一、PythonGUI简介二、PySide6工具安装1.安装VSCode:https://code.visualstudio.com/2.安装Python:https://www.python.org/downloads/3.安装PyCharm:https://www.jetbrains.com/pycharm/4.更新pip: 命令python.exe-mpip......
  • 【专题】经济科技双周期驱动中国科技类消费电子产业新生态报告PDF合集分享(附原数据表)
    全文链接:https://tecdat.cn/?p=33393在后疫情时代,全球经济和消费力的增长面临巨大考验。2022年,电脑、手机等产品的市场规模出现了小幅收缩调整。然而,在这样的环境下,各种消费电子的细分领域却展现出了强大的韧性。阅读原文,获取专题报告合集全文,解锁文末29份消费电子行业相关报告。......
  • Python | isinstance函数
    isinstance函数isinstance的意思是“判断类型”;isinstance()是一个内置函数,用于判断一个对象是否是一个已知的类型,类似type()。isinstance()与type()区别type()不会认为子类是一种父类类型,不考虑继承关系。isinstance()会认为子类是一种父类类型,考虑继承关系。如果要判......
  • 【专题】2022-2023中国科技类消费电子产业发展白皮书报告PDF合集分享(附原数据表)
    全文链接:https://tecdat.cn/?p=33393在后疫情时代,全球经济和消费力的增长面临巨大考验。2022年,电脑、手机等产品的市场规模出现了小幅收缩调整。然而,在这样的环境下,各种消费电子的细分领域却展现出了强大的韧性。阅读原文,获取专题报告合集全文,解锁文末29份消费电子行业相关报告。......
  • 【专题】2023消费电子行业数字化转型白皮书报告PDF合集分享(附原数据表)
    全文链接:https://tecdat.cn/?p=33393在后疫情时代,全球经济和消费力的增长面临巨大考验。2022年,电脑、手机等产品的市场规模出现了小幅收缩调整。然而,在这样的环境下,各种消费电子的细分领域却展现出了强大的韧性。阅读原文,获取专题报告合集全文,解锁文末29份消费电子行业相关报告。......
  • 【专题】消费电子行业经营趋势白皮书报告PDF合集分享(附原数据表)
    全文链接:https://tecdat.cn/?p=33393在后疫情时代,全球经济和消费力的增长面临巨大考验。2022年,电脑、手机等产品的市场规模出现了小幅收缩调整。然而,在这样的环境下,各种消费电子的细分领域却展现出了强大的韧性。阅读原文,获取专题报告合集全文,解锁文末29份消费电子行业相关报告。......