python文档Word助手转换pdf目录页码获取统计等源码

简介: 在PyCharm中运行《Word助手》即可进入如图1所示的系统主界面。在该界面中,通过顶部的工具栏可以选择所要进行的操作。

在PyCharm中运行《Word助手》即可进入如图1所示的系统主界面。在该界面中,通过顶部的工具栏可以选择所要进行的操作。


ba59cff82c2ec9d7c9d4fcbef150e62.png

具体的操作步骤如下:

(1)实现Word转PDF。在Word助手的主窗体中,单击工具栏中的“Word转PDF”按钮,将打开“Word转PDF”子窗体,在该窗体中,首先单击“请选择Word文本所在路径”右侧的“…”浏览按钮,选择要转换源路径,这时系统将自动获取该路径下的全部Word文档文件,并显示在下方的列表中,然后单击“转换后PDF文件保存路径”文本框右侧的“…”浏览按钮,接下来,如果是想进行批量转换,那么单击“批量转换”按钮,开始转换,同时显示进度条,如图2所示,转换完成后,对应的文件路径将显示在下面的列表中。如果是合为一个PDF文件,则单击“合为一个PDF”按钮,开始转换,此时也将显示进度条,转换完成后,将显示合并后的文件路径到列表中,如图3所示。在PDF文件列表中,双击文件路径,可以使用PDF阅读软件打开该文件。

0b49929756f4f091c75a669832d70ea.png


(2)实现提取Word文档页码。在Word助手的主窗体中,单击工具栏中的“统计Word文档页码”按钮,将打开“统计Word文档页码”子窗体,在该窗体中,首先单击“请选择Word文本所在路径”右侧的“…”浏览按钮,选择要统计文件的源路径,这时系统将自动获取该路径下的全部Word文档文件,并显示在下方的列表中,然后单击“开始统计”按钮,开始统计页码,同时显示进度条,如图4所示,统计完成后,每个Word文档的路径及对应的页码将显示在下面的表格中,并且在表格下方显示总页码,如图5所示。


db61941c8370b61b991e1c9b3b1233e.png

(3)在Word助手的主窗体中,单击工具栏中的“统计提取总目录”按钮,将打开“提取总目录”子窗体,在该窗体中,首先单击“请选择Word文本所在路径”右侧的“…”浏览按钮,选择要统计文件的源路径,这时系统将自动获取该路径下的全部Word文档文件,并显示在下方的列表中,然后单击“开始提取”按钮,开始提取目录,同时显示进度条,如图6所示,统计完成后,在结果栏中将显示目录文件保存的位置,单击其右侧的“打开文件”按钮,将打开该文件,如图7所示。


f9d8a1aaaa75b5b2f573825a8ef5ad0.png

部分源码如下,其余完整详见下载。

wx供重浩:创享日记

对话框发送:python文档助手

获取完整源码源文件+说明文档+可执行文件等


# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'mainWindow.ui'
# Created by: PyQt5 UI code generator 5.11.3
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtGui import QPixmap, QBrush
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(792, 572)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtWidgets.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 792, 18))
        self.menubar.setObjectName("menubar")
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)
        self.toolBar = QtWidgets.QToolBar(MainWindow)
        self.toolBar.setObjectName("toolBar")
        MainWindow.addToolBar(QtCore.Qt.TopToolBarArea, self.toolBar)
        self.actionWord_PDF = QtWidgets.QAction(MainWindow)
        self.actionWord_PDF.setObjectName("actionWord_PDF")
        self.action_Word = QtWidgets.QAction(MainWindow)
        self.action_Word.setObjectName("action_Word")
        self.action_list = QtWidgets.QAction(MainWindow)
        self.action_list.setObjectName("action_list")
        self.toolBar.addAction(self.actionWord_PDF)
        self.toolBar.addSeparator()
        self.toolBar.addAction(self.action_Word)
        self.toolBar.addSeparator()
        self.toolBar.addAction(self.action_list)
        # # 设置窗体背景
        # palette = QtGui.QPalette()
        # # 设置窗体背景自适应
        # palette.setBrush(MainWindow.backgroundRole(),QBrush(QPixmap("./image/bg.jpg").scaled(MainWindow.size(),QtCore.Qt.IgnoreAspectRatio,QtCore.Qt.SmoothTransformation)))
        # MainWindow.setPalette(palette)
        # MainWindow.setAutoFillBackground(True) # 设置自动填充背景
        # # 禁止显示最大化按钮及调整窗体大小
        # MainWindow.setFixedSize(792, 572);
        self.retranslateUi(MainWindow)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
        self.toolBar.setWindowTitle(_translate("MainWindow", "toolBar"))
        self.actionWord_PDF.setText(_translate("MainWindow", "Word转PDF"))
        self.actionWord_PDF.setToolTip(_translate("MainWindow", "<html><head/><body><p>Word转PDF</p></body></html>"))
        self.action_Word.setText(_translate("MainWindow", "统计Word文档页码"))
        self.action_Word.setToolTip(_translate("MainWindow", "<html><head/><body><p>统计Word文档的总页码</p></body></html>"))
        self.action_list.setText(_translate("MainWindow", "提取总目录"))
        self.action_list.setToolTip(_translate("MainWindow", "<html><head/><body><p>提取Wrod文档总目录</p></body></html>"))


Microsoft Word在当前使用中是占有巨大优势的文字处理器,这使得Word专用的档案格式Word 文件(.doc)成为事实上最通用的标准。Word文件格式的详细资料并不对外公开。Word文件格式不只一种,因为随Word软件本身的更新,文件格式也会或多或少的改版,新版的格式不一定能被旧版的程序读取(大致上是因为旧版并未内建支援新版格式的能力)。微软已经详细公布Word 97的DOC格式,但是较新的版本资料仍未公开,只有公司内部、政府与研究机构能够获知。业界传闻说某些Word文件格式的特性甚至连微软自己都不清楚。其他与Word竞争的办公室作业软件,都必须支援事实上最通用的Word专用的档案格式。因为Word文件格式的详细资料并不对外公开,通常这种兼容性是藉由逆向工程来达成。许多文字处理器都有汇出、汇入Word档案专用的转换工具,譬如AbiWord或OpenOffice。(参照文本编辑器当中关于其他竞争软件的说明。)Apache Jakarta POI是一个开放原始码的Java数据库,其主要目标是存取Word的二进制文件格式。不久前,微软自己也提供了检视器,能够不用Word程序就检视Word文件。例:Word Viewer 2003。Microsoft office Word 97到Microsoft office Word 2003之前的Word文件格式都是二进制文件格式。不久以前,微软声明他们接下来将以XML为基础的档案格式作为他们办公室套装软件的格式。Word 2003提供WordprocessingML的选项。这是一种公开的XML档案格式,由丹麦政府等机构背书支持。Word 2003的专业版能够直接处理非微软的档案规格。


相关文章
|
24天前
|
Python
Python实用记录(四):os模块-去后缀或者改后缀/指定目录下图片或者子目录图片写入txt/csv
本文介绍了如何使用Python的os模块来操作文件,包括更改文件后缀、分割文件路径和后缀、将指定目录下的所有图片写入txt文档,以及将指定目录下所有子目录中的图片写入csv文档,并为每个子目录分配一个标签。
14 1
|
28天前
|
Python
Python对PDF文件页面的旋转和切割
Python对PDF文件页面的旋转和切割
|
27天前
|
计算机视觉 Python
Python操作PDF文件
Python操作PDF文件
|
28天前
|
编解码 UED Python
Python批量修改指定目录下图片的大小名文章
Python批量修改指定目录下图片的大小名文章
15 1
|
1月前
|
存储 安全 网络安全
Python编程--使用PyPDF解析PDF文件中的元数据
Python编程--使用PyPDF解析PDF文件中的元数据
|
1月前
|
自然语言处理 Java 编译器
为什么要看 Python 源码?它的结构长什么样子?
为什么要看 Python 源码?它的结构长什么样子?
23 2
|
1月前
|
Python
源码解密 Python 的 Event
源码解密 Python 的 Event
33 1
|
1月前
|
数据采集 前端开发 Python
Python pygame 实现游戏 彩色 五子棋 详细注释 附源码 单机版
Python pygame 实现游戏 彩色 五子棋 详细注释 附源码 单机版
62 0
|
1月前
|
IDE 开发工具 数据安全/隐私保护
Python编程实现批量md5加密pdf文件
Python编程实现批量md5加密pdf文件
|
17天前
|
Java Apache Maven
将word文档转换成pdf文件方法
在Java中,将Word文档转换为PDF文件可采用多种方法:1) 使用Apache POI和iText库,适合处理基本转换需求;2) Aspose.Words for Java,提供更高级的功能和性能;3) 利用LibreOffice命令行工具,适用于需要开源解决方案的场景。每种方法都有其适用范围,可根据具体需求选择。