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)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/195755.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot统一异常处理

在 Spring Boot 中,可以通过自定义异常处理器来实现统一的异常处理。 创建自定义异常类 首先,创建一个自定义的异常类,继承自 RuntimeException 或其子类。这个异常类可以用来表示应用程序中的特定异常情况。 public class CustomExceptio…

行为型剩余的模式

1.中介者模式 package com.jmj.pattern.mediator;public abstract class Mediator {public abstract void constact(String message,Person person); }package com.jmj.pattern.mediator;public class MediatorStructure extends Mediator{private HouseOwner houseOwner;priva…

华为云云绘本第一期:童话奇迹原来是你

点此进入官网,专家1对1:应用身份管理服务OneAccess_华为云IDaaS-华为云

赛捷CRM集成无需API开发:连接营销系统,优化电商用户运营和广告策略

赛捷CRM集成无需API开发:连接营销系统,优化电商用户运营和广告策略 在当前的电商热潮下,企业如何在竞争中脱颖而出,提高用户运营效率和广告策略的精准度,成为了关键性的挑战。赛捷CRM以其无需API开发的集成解决方案&a…

如何看待 Android 面试却是 Java 面试官?

如何看待 Android 面试却是 Java 面试官? 在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「Android资料从专业入门到高级教程工具包」,点个关注,全部无偿共享给大家&…

变配电智能监控系统

变配电智能监控系统是一种能够实时监测电力变压器和配电柜、配电箱运行状态的智能设备。这种系统利用先进的传感器和数据通信技术,能够实时监测电力设备的运行状态,包括电压、电流、温度、湿度等参数,并且能够对这些数据进行处理和分析&#…

CTF特训日记day3

复现一下RWCTF5th shellfind题目 题目描述如下: Hello Hacker. You dont know me, but I know you. I want to play a game. Heres what happens if you lose. The device you are watching is hooked into your Saturday and Sunday. When the timer in the back …

安卓8预装可卸载应用

环境 系统:Android 8 CPU:MTK 理论上改法适用于其他平台,比如展讯。 不适用于安卓11。安卓11请参照android 11预装APP到data/app目录 实现 假设要内置test这个应用。 第一步把test添加到系统编译配置中,不同平台或cpu文件不一样。 比如&am…

ES6与ES5的区别?

目录 一、模块化区别 1.ES6模块化 2.Commonjs模块化 区别? 二、声明变量方式区别? var特点: let特点: const特点: 一、模块化区别 1.ES6模块化 导出: 1.列表导出 export {first,last} 2.重命名导出 export {first as fi,last…

沿着马可·波罗的足迹,看数字云南

刚入行的时候,有位前辈跟我说过一句话:去现场“要像外国人一样去看”,重新审视那些自己可能早已“熟视无睹”的事物。 前不久,我跟随“看见数字云南——云南数字经济媒体探营活动”,奔赴昆明、大理、西双版纳等地&…

多路径传输(MPTCP MPQUIC)数据包调度研究总结

近些年来,以5G和Wifi6为代表的无线通信技术发展迅速,并已经在全世界实现了大规模部署。此外,智能手机等移动设备不断迭代更新,其网络通信能力也持续演进,使得应用同时利用多个不同网卡在多条不同物理链路上&#xff08…

性价比开放式蓝牙耳机推荐哪款、性价比最高的开放式耳机

传统的耳机设计虽然便携,但却可能给一些需要长时间佩戴的用户带来不适。长时间封闭在耳机内可能导致耳朵不透气,甚至引起疼痛。这就是为什么近年来开放式耳机越来越受欢迎的原因。这种耳机设计无需直接插入耳道,采用挂耳的佩戴方式&#xff0…

Python3+selenium自动化测试框架详解

背景 为了更好的发展自身的测试技能,应对测试行业以及互联网行业的迭代变化。自学python以及自动化测试。 虽然在2017年已经开始接触了selenium,期间是断断续续执行自动化测试,因为还有其他测试任务,培训任务要执行… 前期建议大…

W11+Ipv6+可道云+PHPstudy实现私人云盘搭建

W11Ipv6可道云PHPstudy实现私人云盘搭建 一、搭建原因二、搭建过程软件选择服务器环境管理软件私人云盘 可道云搭建小皮面板搭建 三、相关配置程序开机自启远程关机远程开机 四、相关参考 一、搭建原因 工位电脑上一些文件想备份到家里电脑,购买NAS又有点多余&…

获取安卓的Facebook Developer的hashCode

先决条件: Java Development Kit (JDK) 已安装并配置好环境变量。OpenSSL 安装在你的系统上,并且其可执行文件路径也被添加到系统环境变量中。步骤1:创建批处理文件 打开文本编辑器,如Notepad,并输入以下代码: @echo off set /p alias="Enter keystore alias: &quo…

protobuf动态库和静态编译

protobuf-3.6.1路径下: #protobuf-3.6.1 路径下 mkdir build && cd build mkdir release && cd release mkdir -p ../../../install/release#动态库 cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPERelease -DCMAKE_INSTALL_PREFIX../../…

solidity实现ERC1155多代币标准

文章目录 1、NFT - 维基百科2、IERC1155MetadataURI3、IERC1155Receiver4、IERC11555、ERC11556、NFT11557、开源地址 1、NFT - 维基百科 ERC-1155 标准于2018年6月由Witek Radomski、Andrew Cooke、Philippe Castonguay、James Therien、Eric Binet及Ronan Sandford提出。此标…

CSS新手入门笔记整理:CSS列表样式

列表项符号:list-style-type 在HTML中,对于有序列表和无序列表的列表项符号,都是使用type属性来定义的。 语法 list-style-type:取值; list-style-type属性是针对ol或者ul元素的,而不是li元素。 有序列表属性 属性值 说明 …

RabbitMQ常用命令(二)

用户管理 RabbitMQ安装成功后使用默认用户名guest登录 账号:guest 密码:guest 注意:这里guest只允许本机登录访问需要创建用户并授权远程访问命令如下 添加用户:rabbitmqctl add_user {username} {password} rabbitmqctl add_…

从微软官网下载系统镜像重装的方法

一、制作系统镜像介质U盘 1、在一台能够正常进入系统的电脑中登录以下网址:https://www.microsoft.com/zh-cn/software-download/windows10, 点击立即下载工具。 2、在下载完成后,双击打开,选择为另一台电脑创建安装介质&#xf…