返回顶部
首页 > 资讯 > 后端开发 > Python >基于PyQt5完成的PDF拆分功能
  • 429
分享到

基于PyQt5完成的PDF拆分功能

2024-04-02 19:04:59 429人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录 一、界面pdfC.ui可参考上文如何实现,程序代码如下:二、main.py实现主要功能程序如下:三、最后在主程序中加入以上子程序。四、总结PyQt是Qt框架的Pyth

PyQt是Qt框架的Python语言实现,是最强大的GUI库之一。PyQt提供了一个设计良好的窗口控件集合,具有更方便的操作性。学过VB的同学会知道,相比与VB的使用,在界面设计上元素更丰富。

本文就是基于PyQt5完成的PDF拆分功能,先看界面:

 一、界面PdfC.ui可参考上文如何实现,程序代码如下:

import os
from PyQt5 import QtCore, QtGui, QtWidgets
import  base64
from return_png import img as retu  # 引入img变量,赋别名为pdf_cf
 
class Ui_PdfC(object):
    def setupUi(self, PdfC):
        tmp = open('return.png', 'wb')  # 创建临时的文件
        tmp.write(base64.b64decode(retu))  # 把这个one图片解码出来,写入文件中去。
        tmp.close()
        PdfC.setObjectName("PdfC")
        PdfC.setWindowModality(QtCore.Qt.NonModal)
        PdfC.resize(1400, 814)
        PdfC.setMinimumSize(QtCore.QSize(1400, 814))
        PdfC.setMaximumSize(QtCore.QSize(1400, 814))
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush)
        PdfC.setPalette(palette)
        self.Reback = QtWidgets.QToolButton(PdfC)
        self.Reback.setGeometry(QtCore.QRect(10, 10, 51, 41))
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.ToolTipBase, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.ToolTipBase, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.ToolTipBase, brush)
        self.Reback.setPalette(palette)
        icon = QtGui.QIcon()
        icon.addPixmap(QtGui.QPixmap("return.png"), QtGui.QIcon.NORMal, QtGui.QIcon.Off)
        self.Reback.setIcon(icon)
        self.Reback.setIconSize(QtCore.QSize(100, 100))
        self.Reback.setAutoRaise(True)
        self.Reback.setObjectName("Reback")
        self.label = QtWidgets.QLabel(PdfC)
        self.label.setGeometry(QtCore.QRect(88, 8, 171, 41))
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        font.setPointSize(16)
        font.setBold(True)
        font.setWeight(75)
        self.label.setFont(font)
        self.label.setObjectName("label")
        self.frame = QtWidgets.QFrame(PdfC)
        self.frame.setGeometry(QtCore.QRect(20, 60, 1351, 161))
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(245, 255, 250))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(245, 255, 250))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(245, 255, 250))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(245, 255, 250))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush)
        self.frame.setPalette(palette)
        self.frame.setAutoFillBackground(True)
        self.frame.setFrameShape(QtWidgets.QFrame.Box)
        self.frame.setFrameShadow(QtWidgets.QFrame.Plain)
        self.frame.setLineWidth(1)
        self.frame.setMidLineWidth(0)
        self.frame.setObjectName("frame")
        self.scwd = QtWidgets.QPushButton(self.frame)
        self.scwd.setGeometry(QtCore.QRect(570, 30, 191, 61))
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(0, 217, 159))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Text, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.ButtonText, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255, 128))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.PlaceholderText, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 217, 159))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Text, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.ButtonText, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255, 128))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.PlaceholderText, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 217, 159))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(120, 120, 120))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Text, brush)
        brush = QtGui.QBrush(QtGui.QColor(120, 120, 120))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.ButtonText, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 128))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.PlaceholderText, brush)
        self.scwd.setPalette(palette)
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        font.setPointSize(16)
        font.setBold(True)
        font.setWeight(75)
        self.scwd.setFont(font)
        self.scwd.setAutoFillBackground(True)
        self.scwd.setAutoDefault(False)
        self.scwd.setDefault(False)
        self.scwd.setFlat(True)
        self.scwd.setObjectName("scwd")
        self.label_2 = QtWidgets.QLabel(self.frame)
        self.label_2.setGeometry(QtCore.QRect(620, 100, 131, 21))
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        self.label_2.setFont(font)
        self.label_2.setObjectName("label_2")
        self.frame_2 = QtWidgets.QFrame(PdfC)
        self.frame_2.setGeometry(QtCore.QRect(1050, 280, 321, 301))
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(245, 255, 250))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(245, 255, 250))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Window, brush)
        brush = QtGui.QBrush(QtGui.QColor(245, 255, 250))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
        brush = QtGui.QBrush(QtGui.QColor(245, 255, 250))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Window, brush)
        self.frame_2.setPalette(palette)
        self.frame_2.setAutoFillBackground(True)
        self.frame_2.setFrameShape(QtWidgets.QFrame.NoFrame)
        self.frame_2.setFrameShadow(QtWidgets.QFrame.Plain)
        self.frame_2.setLineWidth(1)
        self.frame_2.setMidLineWidth(0)
        self.frame_2.setObjectName("frame_2")
        self.label_3 = QtWidgets.QLabel(self.frame_2)
        self.label_3.setGeometry(QtCore.QRect(20, 20, 191, 31))
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        font.setPointSize(14)
        font.setBold(False)
        font.setWeight(50)
        self.label_3.setFont(font)
        self.label_3.setObjectName("label_3")
        self.xzwd = QtWidgets.QPushButton(self.frame_2)
        self.xzwd.setGeometry(QtCore.QRect(30, 190, 271, 61))
        palette = QtGui.QPalette()
        brush = QtGui.QBrush(QtGui.QColor(0, 217, 159))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Text, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.ButtonText, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255, 128))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.PlaceholderText, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 217, 159))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Text, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.ButtonText, brush)
        brush = QtGui.QBrush(QtGui.QColor(255, 255, 255, 128))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.PlaceholderText, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 217, 159))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Button, brush)
        brush = QtGui.QBrush(QtGui.QColor(120, 120, 120))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Text, brush)
        brush = QtGui.QBrush(QtGui.QColor(120, 120, 120))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.ButtonText, brush)
        brush = QtGui.QBrush(QtGui.QColor(0, 0, 0, 128))
        brush.setStyle(QtCore.Qt.SolidPattern)
        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.PlaceholderText, brush)
        self.xzwd.setPalette(palette)
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        font.setPointSize(14)
        font.setBold(True)
        font.setWeight(75)
        self.xzwd.setFont(font)
        self.xzwd.setAutoFillBackground(True)
        self.xzwd.setAutoDefault(False)
        self.xzwd.setDefault(False)
        self.xzwd.setFlat(True)
        self.xzwd.setObjectName("xzwd")
        self.label_5 = QtWidgets.QLabel(self.frame_2)
        self.label_5.setGeometry(QtCore.QRect(30, 60, 131, 21))
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        self.label_5.setFont(font)
        self.label_5.setObjectName("label_5")
        self.textEdit = QtWidgets.QTextEdit(self.frame_2)
        self.textEdit.setGeometry(QtCore.QRect(50, 110, 61, 51))
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.textEdit.setFont(font)
        self.textEdit.setObjectName("textEdit")
        self.label_6 = QtWidgets.QLabel(self.frame_2)
        self.label_6.setGeometry(QtCore.QRect(140, 130, 41, 21))
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        self.label_6.setFont(font)
        self.label_6.setObjectName("label_6")
        self.textEdit_2 = QtWidgets.QTextEdit(self.frame_2)
        self.textEdit_2.setGeometry(QtCore.QRect(200, 110, 61, 51))
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.textEdit_2.setFont(font)
        self.textEdit_2.setObjectName("textEdit_2")
        self.label_7 = QtWidgets.QLabel(PdfC)
        self.label_7.setGeometry(QtCore.QRect(480, 250, 71, 21))
        font = QtGui.QFont()
        font.setFamily("微软雅黑")
        self.label_7.setFont(font)
        self.label_7.setObjectName("label_7")
        self.label_4 = QtWidgets.QLabel(PdfC)
        self.label_4.setGeometry(QtCore.QRect(270, 290, 461, 511))
        self.label_4.setFrameShape(QtWidgets.QFrame.Box)
        self.label_4.setFrameShadow(QtWidgets.QFrame.Plain)
        self.label_4.setLineWidth(1)
        self.label_4.setText("")
        self.label_4.setObjectName("label_4")
 
        self.retranslateUi(PdfC)
        QtCore.QMetaObject.connectSlotsByName(PdfC)
 
        os.remove("return.png")
 
    def retranslateUi(self, PdfC):
        _translate = QtCore.QCoreApplication.translate
        PdfC.setWindowTitle(_translate("PdfC", "PDF拆分"))
        self.Reback.setText(_translate("PdfC", "..."))
        self.label.setText(_translate("PdfC", "PDF拆分"))
        self.scwd.setText(_translate("PdfC", "+ 上传文档"))
        self.label_2.setText(_translate("PdfC", "上传文档至此"))
        self.label_3.setText(_translate("PdfC", "操作"))
        self.xzwd.setText(_translate("PdfC", "开始拆分"))
        self.label_5.setText(_translate("PdfC", "输入页数(请勿输0)"))
        self.label_6.setText(_translate("PdfC", "到"))
        self.label_7.setText(_translate("PdfC", "PDF预览"))

二、main.py实现主要功能程序如下:


class pdcwindow(QtWidgets.QWidget,Ui_PdfC):
    def __init__(self):
        super(pdcwindow, self).__init__()
        self.setupUi(self)
    def re_back(self):
        self.close()
    def sctp(self):
         fileName, fileType = QtWidgets.QFileDialog.getOpenFileName(self, "选取文件", os.getcwd(),"自定义(*.pdf;*);;All Files(*)")
         self.f = str(fileName)
         self.p, self.s =self.f.split(".")
         try:
          if self.s == "pdf":
            # 打开文件
            doc = fitz.open(self.f)
            # 读取一页 0代表第1页
            page_one = doc.loadPage(0)
            # 将第一页转换为Pixmap
            page_pixmap = page_one.getPixmap()
            # 将Pixmap转换为QImage
            image_format = QImage.Format_RGBA8888 if page_pixmap.alpha else QImage.Format_RGB888
            page_image = QImage(page_pixmap.samples, page_pixmap.width, page_pixmap.height, page_pixmap.stride,image_format)
            #width = page_image.width()
            #height = page_image.height()
            # QImage 转为QPixmap
            pix = QPixmap.fromImage(page_image)
            # 设置图片大小自适应标签
            self.label_4.setScaledContents(True)
            # 给标签设置图像
            self.label_4.setPixmap(pix)
          else:
            msg_box = QMessageBox(QMessageBox.Warning, "错误", "文件不是 pdf 文件,请重新选择!")
            msg_box.exec_()
         except Exception as e:
          pass
    def xzwj(self):
        pdf_file = PdfFileReader(self.f)
        output = PdfFileWriter()
        str1 = self.textEdit.toPlainText()
        num1 = int(str1)
        str2 = self.textEdit_2.toPlainText()
        num2 = int(str2)
        if num1 == num2:
            num1 = num1 - 1
        for i in range(num1, num2):
            output.addPage(pdf_file.getPage(i))
        # 写出pdf
        pdf_out = "{}_pdf拆分.{}".format(self.p,self.s)
        with open(pdf_out, 'ab') as out_pdf:
            output.write(out_pdf)
        root = tkinter.Tk()
        root.withdraw()
        tkinter.messagebox.showinfo("提示", "成功下载到源文件所在文件夹")

说明如下:

(1) def sctp(self): 其中的sctp为按钮的objectName属性名字;def xzwj(self):其中的xzwj为按钮的objectName属性名字;

(2) 可通过点击按钮实现本地文件上传;

fileName, fileType = QtWidgets. QFileDialog.getOpenFileName(self, "选取文件", os.getcwd(), "自定义(*.jpg;*.png;*.jpeg;*);;All Files(*)")

(3) 增加了防错功能,当上传的文档格式不是pdf时,将不执行程序,同时提示错误;

(4) 将pdf第一页转为图片,并用label组件显示;

(5) 在def xzwj(self):程序中可实现按页数拆分pdf;

三、最后在主程序中加入以上子程序。

if __name__ =="__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    win = mywindow()
    pc = pdcwindow()
    win.show()
    win.pdf_cf.clicked.connect(win.pic_main)
    win.pdf_cf.clicked.connect(pc.show)
    pc.Reback.clicked.connect(pc.re_back)
    pc.Reback.clicked.connect(win.show)
    pc.scwd.clicked.connect(pc.sctp)
    pc.xzwd.clicked.connect(pc.xzwj)
    sys.exit(app.exec_())

四、总结

本文介绍的pdf拆分功能还有一些待完善地方,例如可增加预览功能,实现每页预览,以及如何实现多条件拆分。当然我们可以在后续阶段逐渐完善。

到此这篇关于基于PyQt5完成的PDF拆分功能的文章就介绍到这了,更多相关PyQt5 PDF拆分内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 基于PyQt5完成的PDF拆分功能

本文链接: https://lsjlt.com/news/118657.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 基于PyQt5完成的PDF拆分功能
    目录 一、界面PdfC.ui可参考上文如何实现,程序代码如下:二、main.py实现主要功能程序如下:三、最后在主程序中加入以上子程序。四、总结PyQt是Qt框架的Pyth...
    99+
    2024-04-02
  • 基于PyQt5如何完成PDF拆分功能
    本篇内容主要讲解“基于PyQt5如何完成PDF拆分功能”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“基于PyQt5如何完成PDF拆分功能”吧!PyQt是Qt框架的Python语言实现,是最强大的...
    99+
    2023-07-02
  • 基于PyQt5完成pdf转word功能
    目录一、界面PdfZ.ui可参考之前的文章如何实现,程序代码如下:二、main.py实现主要功能程序如下:三、最后在主程序中加入以上子程序。四、总结PyQt是Qt框架的Python语...
    99+
    2024-04-02
  • 基于PyQt5如何完成pdf转word功能
    本篇内容介绍了“基于PyQt5如何完成pdf转word功能”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PyQt是Qt框架的Python语言...
    99+
    2023-07-02
  • 基于PyQt5实现图转文功能(示例代码)
    目录一、界面PicZ.ui可参考之前的文章如何实现,程序代码如下:二、main.py实现主要功能程序如下:三、最后在主程序中加入以上子程序。四、总结PyQt是Qt框架的Python语...
    99+
    2024-04-02
  • 将pdf文件拆分成多个文件的教程
    要将PDF文件拆分成多个文件,可以使用以下方法:1. 使用Adobe Acrobat软件:- 打开PDF文件。- 在右侧的“工具”栏...
    99+
    2023-09-16
    pdf
  • 基于PyQt5实现状态栏(statusBar)显示和隐藏功能
    首先,讲述要解决的两个问题以及解决问题的代码: 1、将鼠标放置于菜单栏上状态栏永久消失的问题(这个问题需要仔细观察才能注意到) # 此覆盖父类函数: 覆盖方法; 为了克服 将...
    99+
    2024-04-02
  • 基于C#实现图片合成功能
    目录实践过程效果代码实践过程 效果 代码 public partial class Form1 : Form { public Form1() { ...
    99+
    2022-12-23
    C#实现图片合成 C#图片合成 C# 图片
  • 《数据库垂直分割的成功案例:成功拆分,价值几何》
    一、数据库垂直分割的定义 数据库垂直分割是指将数据库中的数据按不同的业务功能或主题拆分成多个独立的数据库。例如,一个电商网站的数据库可以按订单、商品、用户等主题拆分成多个独立的数据库。 二、数据库垂直分割的优点 数据库垂直分割可以带来以下...
    99+
    2024-02-12
    数据库 垂直分割 性能 扩展性 安全性
  • 如何基于PHP实现微信小程序pdf文件的预览功能
    本篇文章给大家带来了关于PHP的相关知识,下面主要给大家介绍了关于如何基于PHP实现微信小程序pdf文件的预览功能,希望对大家有帮助。(推荐教程:PHP视频教程)问题描述前段时间文库类微信小程序开发中遇到个问题,就是要在小程序中预览阿里云O...
    99+
    2024-04-02
  • 基于PHP怎么实现微信小程序pdf文件的预览功能
    这篇文章主要介绍“基于PHP怎么实现微信小程序pdf文件的预览功能”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“基于PHP怎么实现微信小程序pdf文件的预览功能”文章能帮助大家解决问题。问题描述前段...
    99+
    2023-06-30
  • PHP生成PDF文件。基于TCPDF类的简明教程
    之前用fpdf总觉得fpdf还是不能达到我想要的效果——简单、扩展性强、重用率高,刚好同事在网上找到了tcpdf,这个工具可以算是fpdf的进化版了,最为强大的是,它可以将HTML代码输出成PDF,实...
    99+
    2023-09-10
    php pdf 开发语言
  • PyQt5入门之基于QListWidget版本实现图片缩略图列表功能
    目录需求描述示例效果代码示例小结需求描述 最近在写一个图像标注小工具,其中需要用到一个缩略图列表,来查看文件夹内的图片文件。 这里整理一个基于QListWidget实现的版本,简单可...
    99+
    2024-04-02
  • MySQL实现数据炸裂拆分(类似Hive的explode函数的拆分数组功能)
    MySQL实现数据炸裂拆分(类似Hive的"explode"函数的拆分数组功能) 需求背景 背景描述 ​ 在Hive中,"explode"函数用于将数组类型的列拆分为多行,以便对数组中的每个元素进行处...
    99+
    2023-09-20
    mysql hive 数据库 大数据
  • 基于Vue3和element-plus实现登录功能(最终完整版)
    先看一下最终要实现的效果: 登录页面: 注册页面: (1)引入element-plus组件库 引入组件库的方式有好多种,在这里我就在main.js全局引入了. npm i ele...
    99+
    2023-03-06
    vue3 element-plus登录 vue3 element-plus登录功能
  • 基于JS+Canvas的lucky-canvas 抽奖功能
    目录ucky-canvas 介绍lucky-canvas 功能特点自由配置多端适配响应式代码块展示效果图展示代码如下抽奖一抽奖二抽奖三ucky-canvas 介绍 一个基于 Js +...
    99+
    2024-04-02
  • 基于JavaScript的简易计算器功能
    本文实例为大家分享了JavaScript实现简易计算器功能的具体代码,供大家参考,具体内容如下 效果图: 源代码: <!DOCTYPE html> <html&g...
    99+
    2024-04-02
  • Java实现PDF文件的分割与加密功能
    由于``某些不可抗力原因,公司不允许使用itext系列的jar包,因此系统中使用的相关jar得替换成开源的。经比较和尝试考虑使用org.apache.pdfbox来替换,同时修改系统...
    99+
    2024-04-02
  • 基于redis分布式锁如何实现秒杀功能
    这篇文章主要介绍了基于redis分布式锁如何实现秒杀功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。业务场景所谓秒杀,从业务角度看,是短时...
    99+
    2024-04-02
  • springboot实现分页功能的完整代码
    目录1.分页功能的作用2.建立测试数据库3.分页功能返回的结果封装4.分页功能代码具体实现4.1数据层4.2业务层4.3控制层5.jqGrid分页插件总结1.分页功能的作用 分页功能...
    99+
    2023-05-16
    springboot分页 springboot分页条件查询 springboot分页功能
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作