简易pdf转word程序(包含exe文件下载地址)

使用pdf2docx来实现的一个pdf转word小程序

库:pdf2docx,pyqt5,os

# -*- coding: utf-8 -*-# Form implementation generated from reading ui file 'E:\python\项目\pdf转word\window.ui'
#
# Created by: PyQt5 UI code generator 5.15.4
#
# WARNING: Any manual changes made to this file will be lost when pyuic5 is
# run again.  Do not edit this file unless you know what you are doing.from PyQt5 import QtCore, QtGui, QtWidgets
import os
from pdf2docx import Converterclass Ui_MainWindow(object):def __init__(self):# self.actionfileopen.triggered.connect(self.open_file)self.filename=""self.filepath=""self.filesavepath=""def setupUi(self, MainWindow):MainWindow.setObjectName("MainWindow")MainWindow.resize(809, 600)MainWindow.setWindowTitle("pdf转word")self.centralwidget = QtWidgets.QWidget(MainWindow)self.centralwidget.setObjectName("centralwidget")self.toolButton = QtWidgets.QToolButton(self.centralwidget)self.toolButton.setGeometry(QtCore.QRect(670, 70, 37, 18))self.toolButton.setObjectName("toolButton")self.toolButton.clicked.connect(self.find)self.lineEdit = QtWidgets.QLineEdit(self.centralwidget)self.lineEdit.setEnabled(True)self.lineEdit.setGeometry(QtCore.QRect(140, 70, 521, 21))self.lineEdit.setObjectName("lineEdit")self.label = QtWidgets.QLabel(self.centralwidget)self.label.setGeometry(QtCore.QRect(10, 70, 131, 16))self.label.setObjectName("label")self.textEdit = QtWidgets.QTextEdit(self.centralwidget)self.textEdit.setEnabled(True)self.textEdit.setGeometry(QtCore.QRect(140, 100, 611, 151))self.textEdit.setObjectName("textEdit")self.label_2 = QtWidgets.QLabel(self.centralwidget)self.label_2.setGeometry(QtCore.QRect(40, 110, 91, 16))self.label_2.setObjectName("label_2")self.progressBar = QtWidgets.QProgressBar(self.centralwidget)self.progressBar.setGeometry(QtCore.QRect(40, 270, 671, 23))self.progressBar.setProperty("value", 0)self.progressBar.setObjectName("progressBar")self.pushButton = QtWidgets.QPushButton(self.centralwidget)self.pushButton.setGeometry(QtCore.QRect(710, 270, 75, 23))self.pushButton.setObjectName("pushButton")self.pushButton.clicked.connect(self.save)self.textEdit_2 = QtWidgets.QTextEdit(self.centralwidget)self.textEdit_2.setGeometry(QtCore.QRect(140, 350, 611, 191))self.textEdit_2.setObjectName("textEdit_2")self.label_3 = QtWidgets.QLabel(self.centralwidget)self.label_3.setGeometry(QtCore.QRect(0, 320, 161, 16))self.label_3.setObjectName("label_3")# self.lineEdit_2 = QtWidgets.QLineEdit(self.centralwidget)# self.lineEdit_2.setGeometry(QtCore.QRect(170, 320, 511, 20))# self.lineEdit_2.setObjectName("lineEdit_2")# self.toolButton_2 = QtWidgets.QToolButton(self.centralwidget)# self.toolButton_2.setGeometry(QtCore.QRect(700, 320, 37, 18))# self.toolButton_2.setObjectName("toolButton_2")# self.toolButton_2.clicked.connect(self.save)MainWindow.setCentralWidget(self.centralwidget)self.menubar = QtWidgets.QMenuBar(MainWindow)self.menubar.setGeometry(QtCore.QRect(0, 0, 809, 23))self.menubar.setObjectName("menubar")MainWindow.setMenuBar(self.menubar)self.statusbar = QtWidgets.QStatusBar(MainWindow)self.statusbar.setObjectName("statusbar")MainWindow.setStatusBar(self.statusbar)self.retranslateUi(MainWindow)QtCore.QMetaObject.connectSlotsByName(MainWindow)def retranslateUi(self, MainWindow):_translate = QtCore.QCoreApplication.translateMainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))self.toolButton.setText(_translate("MainWindow", "..."))self.label.setText(_translate("MainWindow", "请选择需要转换的文件"))self.label_2.setText(_translate("MainWindow", "转换状态:"))self.pushButton.setText(_translate("MainWindow", "开始转换"))self.label_3.setText(_translate("MainWindow", "转换结果"))# self.toolButton_2.setText(_translate("MainWindow", "..."))def find (self):fileName,fileType = QtWidgets.QFileDialog.getOpenFileName(None, "选取文件", os.getcwd(), "Adobe PDF文件(*.pdf)")self.filename=fileName.split("/")self.filename=self.filename[-1]self.filepath=fileNameself.lineEdit.setText(fileName)def save(self):self.progressBar.setProperty("value",0)filesavename=self.filename.replace(".pdf",".docx")file_path,fileType =   QtWidgets.QFileDialog.getSaveFileName(None,"save file",filesavename ,"Microsoft word 文档 (*.docx);;all files(*.*)") # self.filesavepath=file_pathprint(file_path)pdf_file = self.filepathdocx_file = file_pathcv = Converter(pdf_file)self.progressBar.setProperty("value",50)cv.convert(docx_file)cv.close()self.progressBar.setProperty("value",100)self.textEdit.insertPlainText("转换成功!"+"\r\n")a="文件转换成功,源文件位置:"+self.filepath+",文件保存位置:"+file_pathself.textEdit_2.insertPlainText(a+"\r\r")if __name__ == "__main__":import sysapp = QtWidgets.QApplication(sys.argv)MainWindow = QtWidgets.QMainWindow()ui = Ui_MainWindow()ui.setupUi(MainWindow)MainWindow.show()sys.exit(app.exec_())

实现结果:

 其中单独用于转word的代码段为:

from pdf2docx import Converter

pdf_file = input("请输入PDF文件路径+文件名 例如:“C:\Document\example.pdf")

docx_file = input("请输入word保存文件路径+要保存的文件名 例如:“C:\Document\example.docx")

# convert pdf to docx

cv = Converter(pdf_file)

cv.convert(docx_file) # 默认参数start=0, end=None

cv.close()

from pdf2docx import Converterpdf_file = input("请输入PDF文件路径+文件名 例如:“C:\Document\example.pdf")
docx_file = input("请输入word保存文件路径+要保存的文件名 例如:“C:\Document\example.docx")# convert pdf to docx
cv = Converter(pdf_file)
cv.convert(docx_file) # 默认参数start=0, end=None
cv.close()

如果没有pyton环境,可以到

去下载pdf转word小程序-Python文档类资源-CSDN文库icon-default.png?t=M85Bhttps://download.csdn.net/download/chen090930/86722359?spm=1001.2014.3001.5501


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部