PYTHON:PYQT5 实现 pdf 合并与分割

前言

        在工作合生活中,会遇到处理pdf的时候,尤其pdf分割与合并时束手无策,下面就利用python实现pdf分割和合并,并且利用pyqt5来实现图形化展示。

        将多个PDF文件合并成一个PDF文件的合并工具。PDF合并工具简单易用,用户只需将要合并的PDF文档添加至工具内,任意调整PDF文档的合并顺序后,稍等几秒,便可实现合并,同样分割只需要导入PDF,分割页码与PDF分割保存的文件名即可。

界面效果

pyqt5 实现

刚刚接触 python 以及 pyqt5  可能代码写的比较乱,望各位大佬见谅,小弟一直在努力学习中,如有问题烦请指教,也欢迎一起学习,一起进步!

关键代码如下

利用 pyqt5 实现图形化界面

# -*- coding: utf-8 -*-

# Form implementation generated from reading ui file 'pdf.ui'
#
# Created by: PyQt5 UI code generator 5.13.0
#
# WARNING! All changes made in this file will be lost!


from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtCore import Qt
from PyQt5.QtWidgets import QHeaderView, QTableWidgetItem, QAbstractItemView, QTableView


class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(1028, 613)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.gridLayout_3 = QtWidgets.QGridLayout(self.centralwidget)
        self.gridLayout_3.setObjectName("gridLayout_3")
        self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)
        self.tabWidget.setEnabled(True)
        self.tabWidget.setBaseSize(QtCore.QSize(100, 100))
        font = QtGui.QFont()
        font.setFamily("宋体")
        font.setPointSize(16)
        font.setBold(False)
        font.setWeight(50)
        font.setStyleStrategy(QtGui.QFont.PreferAntialias)
        self.tabWidget.setFont(font)
        self.tabWidget.setObjectName("tabWidget")
        self.tab = QtWidgets.QWidget()
        self.tab.setObjectName("tab")
        self.gridLayout_7 = QtWidgets.QGridLayout(self.tab)
        self.gridLayout_7.setObjectName("gridLayout_7")
        self.gridLayout_2 = QtWidgets.QGridLayout()
        self.gridLayout_2.setObjectName("gridLayout_2")
        self.pushButton_5 = QtWidgets.QPushButton(self.tab)
        self.pushButton_5.setMaximumSize(QtCore.QSize(200, 200))
        font = QtGui.QFont()
        font.setFamily("宋体")
        font.setPointSize(16)
        font.setBold(False)
        font.setWeight(50)
        font.setStyleStrategy(QtGui.QFont.PreferAntialias)
        self.pushButton_5.setFont(font)
        self.pushButton_5.setObjectName("pushButton_5")
        self.gridLayout_2.addWidget(self.pushButton_5, 0, 2, 1, 1)
        self.lineEdit_3 = QtWidgets.QLineEdit(self.tab)
        self.lineEdit_3.setEnabled(True)
        font = QtGui.QFont()
        font.setFamily("宋体")
        font.setPointSize(16)
        font.setBold(False)
        font.setWeight(50)
        font.setStyleStrategy(QtGui.QFont.PreferAntialias)
        self.lineEdit_3.setFont(font)
        self.lineEdit_3.setObjectName("lineEdit_3")
        self.gridLayout_2.addWidget(self.lineEdit_3, 0, 0, 1, 1)
        self.pushButton_3 = QtWidgets.QPushButton(self.tab)
        self.pushButton_3.setObjectName("pushButton_3")
        self.gridLayout_2.addWidget(self.pushButton_3, 0, 3, 1, 1)
        self.gridLayout_7.addLayout(self.gridLayout_2, 0, 0, 1, 1)
        self.tableWidget_2 = QtWidgets.QTableWidget(self.tab)
        font = QtGui.QFont()
        font.setFamily("宋体")
        font.setPointSize(15)
        font.setBold(False)
        font.setWeight(50)
        font.setStyleStrategy(QtGui.QFont.PreferAntialias)
        self.tableWidget_2.setFont(font)
        self.tableWidget_2.setObjectName("tableWidget_2")
        self.tableWidget_2.setColumnCount(4) # 设置 列数
        self.tableWidget_2.setRowCount(11) # 设置 行数
        self.tableWidget_2.setHorizontalHeaderLabels(['文件名','      文件路径      ','文件大小','文件页码'])
        # self.tableWidget_2.setStyleSheet("background-color:transparent;")
        self.tableWidget_2.horizontalHeader().setStyleSheet(
            "QHeaderView::section{background-color:rgb(155, 194, 230);color: black;};")
        self.tableWidget_2.verticalHeader().setVisible(False) # 隐藏表头
        self.tableWidget_2.setSelectionBehavior(QAbstractItemView.SelectRows)
        self.tableWidget_2.setEditTriggers(QTableView.NoEditTriggers)
        self.tableWidget_2.resizeColumnsToContents() # 设置列宽高按照内容自适应
        self.tableWidget_2.resizeRowsToContents() # # 设置行宽和高按照内容自适应
        self.tableWidget_2.horizontalHeader().setSectionResizeMode(QHeaderView.Stretch) # # 所有列自动拉伸,充满界面
        #self.ta
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值