PyQt pdf格式保存

参考文章

pyqt5:利用QFileDialog从本地选择图片\文本文档显示到label、保存图片\label文本到本地(附代码)_pyqt5中qfiledialog.getopenfileurl-CSDN博客

txt文件的打开与保存 

    def openTextFile(self):  # 选择文本文件上传
        fd,fp = QFileDialog.getOpenFileName(self.centralwidget, "选择文件", "", "*.txt;;All Files(*)") # 打开对话框
        f=open(fd,'r') # 将刚刚获取的保存路径fd对应的文件打开,其中'r' 表示以读取模式打开文件
        self.label_txt.setText(f.read()) # 在控件上显示读取到的txt文件里边的内容
        self.label_filePath.setText(fd) # 在控件上显示读取到txt文件的路径
        f.close()

    def saveTextFile(self):  # 保存文本文件
        fd,fp= QFileDialog.getSaveFileName(self.centralwidget, "保存文件", "", "*.txt;;All Files(*)") # 点击“保存文件”按钮后弹出对话框要求我们给需要保存的文件命名,最后点击保存
        f=open(fd,'w') # 将刚刚获取的保存路径fd对应的文件打开,其中'w' 表示以写入模式打开文件。
        f.write(self.label_txt.text()) # 在保存路径fd对应的文件里写入信息。
        f.close() #关闭文件


图片的打开与保存

    def openImage(self):  # 选择本地图片上传
        global imgName  # 这里为了方便别的地方引用图片路径,我们把它设置为全局变量
        imgName, imgType = QFileDialog.getOpenFileName(self.centralwidget, "打开图片", "", "*.jpg;;*.png;;All Files(*)")    # 弹出一个文件选择框,第一个返回值imgName记录选中的文件路径+文件名,第二个返回值imgType记录文件的类型
        jpg = QtGui.QPixmap(imgName).scaled(self.label_image.width(), self.label_image.height())  # 通过文件路径获取图片文件,并设置图片长宽为label控件的长宽
        self.label_image.setPixmap(jpg)  # 在label控件上显示选择的图片
        self.label_imagePath.setText(imgName)  # 显示所选图片的本地路径

    def saveImage(self):  # 保存图片到本地
        screen = QApplication.primaryScreen() #这一行代码获取了当前应用程序的主屏幕对象,通过QApplication.primaryScreen()函数实现。这个屏幕对象用于后续截取屏幕上的图像。
        pix = screen.grabWindow(self.label_image.winId()) # 这一行代码使用screen.grabWindow()函数来截取指定窗口(在这里是label_image窗口)的图像。self.label_image.winId()返回label_image窗口的唯一标识符。
        fd,type= QFileDialog.getSaveFileName(self.centralwidget, "保存图片", "", "*.jpg;;*.png;;All Files(*)") #弹出对话框
        pix.save(fd)

保存图像的第二种方式:

     def saveImage(self):
         img = self.label_4.pixmap().toImage()
         fpath, ftype = QFileDialog.getSaveFileName(self.centralwidget, "保存图片", "d:\\", "*.jpg;;*.png;;All Files(*)")
         img.save(fpath)

pdf的保存

    def saveTextFile(self):  # 保存文本文件
        inputFile ="./folder/result.docx"
        fd,fp= QFileDialog.getSaveFileName(self.centralwidget, "保存PDF", "","PDF Files (*.pdf)")
        f=open(fd,'w')
        convert(inputFile, fd)
        f.close()

pdf转换代码:

from docx2pdf import convert
inputFile ="./report.docx"
outputFile ="convert.pdf"
file = open(outputFile,'w')
file.close()
convert(inputFile, outputFile)

  • 9
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值