0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

分享一款批量将PDF文件转换为Word的神器

工程师邓生 来源:Python爱好者集中营 作者:欣一 2022-09-01 17:33 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

无论是在工作还是学习当中,大家都会遇到这样一个问题,将“PDF当中的内容(文本和图片)转换为Word的格式”,也就是说从只读转换成可编辑的格式。网上绝大多数的工具也都是收费的,今天小编就给大家制作了一款批量将PDF文件转换为Word的神器,使用起来也是相当的方便。

实现效果

我们首先来看一下出来的效果,如下图所示

6027737a-29d6-11ed-ba43-dac502259ad0.gif



618fe468-29d6-11ed-ba43-dac502259ad0.png

61c0cd08-29d6-11ed-ba43-dac502259ad0.png

环境准备

用到的模块叫做pdf2docx,我们通过pip命令进行下载,如下

pip install pdf2docx

后续我们还可以为py文件打包,用到的库是pyinstaller

pip install pyinstaller


代码实现

我们先简单地实现将单个PDF文档转换成Word文档,代码如下

pYYBAGMQfMWAKCJIAAA5iyss-GA794.jpg

那么上面的是单个PDF文件,要是涉及到是多个PDF文件,则需要用到遍历上传过来的每一个文件,用到for循环遍历

def startAction(self):
output_path_1 = Path.joinpath(Path.home(), "Desktop")
output_path_2 = str(output_path_1) + "\\output"
if not os.path.exists(output_path_2):
os.mkdir(output_path_2)

for path_list in pdfPath_list:
print("路径: ", path_list)
name = path_list.split("/")[-1].split(".")[0]
cv = Converter(path_list)
cv.convert(output_path_2 + "\\{}.docx".format(name), start=0, end=None)
cv.close()

msg_box = QMessageBox(QMessageBox.Information, '完成', '提取完成', QMessageBox.Yes)
msg_box.exec_()

上述的代码,我们首先将指定好输出的Word文档的位置,这里小编设置的是在桌面,然后通过for循环去遍历处理每一个PDF文档,当所有的步骤都完成的时候,提示我们已经完成了。

当然整个可视化界面当中还有一个上传文件的功能,代码如下

# 选择本地文件上传
def uploadFiles(self):
global pdfPath_list # 这里为了方便别的地方引用文件路径,将其设置为全局变量
pdfPath_list, fileType = QFileDialog.getOpenFileNames(self.ui, "上传文件", r"路径", "*.pdf;;All Files(*)")
# 显示所选文件的路径
self.ui.lineEdit.setText(",".join(pdfPath_list))

整体的代码如下所示

from PySide2.QtWidgets import QApplication, QMessageBox, QFileDialog
from PySide2.QtUiTools import QUiLoader
from pdf2docx import Converter
from pathlib import Path
import os

class OCRQt:
def __init__(self):
self.ui = QUiLoader().load('pdf2word.ui')
self.ui.pushButton.clicked.connect(self.uploadFiles)
self.ui.pushButton_2.clicked.connect(self.startAction)

def uploadFiles(self):
........
........

def startAction(self):
.......
.......

if __name__ == '__main__':
app = QApplication([])
# 显示创建的界面
MainWindow = OCRQt() # 创建窗体对象
MainWindow.ui.show() # 显示窗体
app.exit(app.exec_()) # 程序关闭时退出进程


审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • PDF
    PDF
    +关注

    关注

    1

    文章

    177

    浏览量

    36400
  • python
    +关注

    关注

    58

    文章

    4885

    浏览量

    90314

原文标题:Python 如何实现一键批量将 PDF 文档转 Word?

文章出处:【微信号:AI科技大本营,微信公众号:AI科技大本营】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    探索LM3677:一款高效降压DC - DC转换

    探索LM3677:一款高效降压DC - DC转换器 在电子工程师的日常工作中,DC - DC转换器是非常常见且重要的元件。今天我们要详细探讨的是德州仪器(TI)的LM3677评估板,它是一款
    的头像 发表于 04-20 10:50 145次阅读

    解析DSD1702:一款多功能音频数模转换

    来自德州仪器(Texas Instruments)的多功能音频数模转换器——DSD1702。 文件下载: DSD1702E.pdf DSD1702概述 DSD1702是一款CMOS单声
    的头像 发表于 04-19 09:50 134次阅读

    DSD1608:一款多功能数字 - 模拟转换器的深度解析

    )的 DSD1608,这是一款 8 通道、支持多种格式的 Delta - Sigma 数字 - 模拟转换器,它在音频处理方面展现出了卓越的性能。 文件下载: DSD1608PAH.pdf
    的头像 发表于 04-19 09:40 117次阅读

    深入解析AD7112:一款高性能的双对数D/A转换

    卓越性能的双对数D/A转换器。 文件下载: AD7112CN.pdf 、AD7112概述 AD7112是一款采用线性兼容CMOS(LC²M
    的头像 发表于 03-30 09:05 130次阅读

    SGM61430A:一款高性能同步降压转换器的深度解析

    的应用范围,成为了众多工程师的首选。今天,我们就来深入了解下这款芯片。 文件下载: SGM61430A.pdf 、产品概述 SGM61430A是
    的头像 发表于 03-19 15:00 227次阅读

    解析MAX751:一款高效的+5V输出升压DC - DC转换

    +5V输出的升压、电流模式PWM DC - DC转换器。 文件下载: MAX751.pdf 、产品概述 MAX751是一款CMOS升压开关
    的头像 发表于 03-19 09:20 431次阅读

    MAX16904:一款高性能2.1MHz高压600mA迷你降压转换

    的MAX16904,就是一款性能卓越的2.1MHz高压600mA迷你降压转换器,下面我们就来详细了解下它的特点、应用及设计要点。 文件下载: MAX16904.
    的头像 发表于 03-11 09:10 524次阅读

    深入剖析 LTM8029:一款高性能降压 μModule 转换

    深入剖析 LTM8029:一款高性能降压 μModule 转换器 在电子工程师的日常工作中,电源管理模块的选择至关重要。今天,我们深入探讨一款备受关注的电源管理器件——LTM8029
    的头像 发表于 03-10 16:40 471次阅读

    一款模拟信号转换为数字信号的高灵敏度、高红外抑制的环境光传感器-WH4517V

    WH4517V是一款模拟信号转换为数字信号的设备,它集成了先进的环境光传感器、先进的接近传感器以及高效率的红外线垂直腔面发射激光器。传感器和VCSEL的间距仅为2.1毫米,因此非常适合用于小型红外孔的设计。
    的头像 发表于 01-08 09:39 684次阅读
    <b class='flag-5'>一款</b><b class='flag-5'>将</b>模拟信号<b class='flag-5'>转换为</b>数字信号的高灵敏度、高红外抑制的环境光传感器-WH4517V

    深入解析AP1501:一款高效的PWM BUCK DC/DC转换

    ——一款150KHZ、3A PWM BUCK DC/DC转换器。 文件下载: AP1501.pdf 产品概述 AP1501是一款完全集成的降
    的头像 发表于 12-17 16:05 659次阅读

    深入解析ADS8323:一款高性能16位模数转换

    一款16位、500kSPS的模数转换器,具有诸多出色的特性和广泛的应用场景。 文件下载: ads8323.pdf 、产品概述 ADS832
    的头像 发表于 12-07 10:08 1155次阅读
    深入解析ADS8323:<b class='flag-5'>一款</b>高性能16位模数<b class='flag-5'>转换</b>器

    DAC8552:一款高性能16位双通道数模转换器的深度剖析

    、双通道、超低毛刺、电压输出的数模转换器。 文件下载: dac8552.pdf 、产品概述 DAC8552是一款具备低功耗特性和灵活串行主
    的头像 发表于 11-29 09:39 1632次阅读
    DAC8552:<b class='flag-5'>一款</b>高性能16位双通道数模<b class='flag-5'>转换</b>器的深度剖析

    pdf转换word文档格式乱了

    df转换word文档格式乱了   pdf 转为 word 是常见的操作,但很多人发现结果很乱,文字会移位,字体变化,表格断裂,图片偏离
    的头像 发表于 11-22 10:04 1348次阅读

    如何图像文件转换为二进制文件

    如何图像文件转换为二进制文件
    发表于 09-05 08:28

    N9H2x如何视频转换为 AVI 文件

    N9H2x如何视频转换为 AVI 文件
    发表于 09-01 08:05