Qt5把图片如何导出为pdf再到剪切板
我这里是写论文,自己用qt做了个坐标绘图软件,不想通过第三方截图软件截图后插入word或者外部转为pdf,然后用adobe acrobat pdf阅读器软件裁剪导出为eps格式图片给latex用,这样做清晰度会受影响。所以想直接通过qt导出pdf,这样非常清晰,而且更方便使用,下图是我的软件:(关于这个软件,可以看我这篇博客用Qt自己开发的 数学坐标绘图软件 可用于 论文,报告插图)
我实现后的效果如下:
可以看到,这是我清晰的。实现代码如下:(就一个函数就完成了,注释比较详细,看一下就懂了)
#include <QPdfWriter>
#include <QPainter>void MainWindowDraw::on_pushButtonScreenshotPDF_clicked()
{/********************* 截图 *********************/QPoint tmp = QPoint(ui->customPlot->x(),ui->customPlot->y()+ui->menubar->height());QPixmap pix=QWidget::grab(QRect(tmp,ui->customPlot->size()));/********************* pdf文件生成 *********************/QString path = QCoreApplication::applicationDirPath() + "/tmp.pdf";//实例化该文件,并以只写的方式打开QFile pdfFile(path);if(!pdfFile.open(QIODevice::WriteOnly)){QMessageBox::warning(this,tr("write File"),tr("Cannot open file:\n%1").arg(path));return;}QPdfWriter *pdfWriter = new QPdfWriter(&pdfFile); //实例化QPdfWriterQPainter *pic_painter = new QPainter(pdfWriter); //实例化QPainterpdfWriter->setPageSize(QPagedPaintDevice::A4); //设置纸张为A4纸pdfWriter->setResolution(QPrinter::ScreenResolution); //设置分辨率// 开始绘图QRect rect = pic_painter->viewport(); //获取painter的视口区域int factor = rect.width()/pix.width(); //计算painter视口区域与抓取图片区域的尺寸比例因子pic_painter->scale(factor,factor); //绘制时按照比例因子放大pic_painter->drawPixmap(10,10,pix); //按照坐标画图delete pic_painter;delete pdfWriter;pdfFile.close();/********************* 复制进入剪切板 *********************/QList<QUrl> copyfile;QUrl url=QUrl::fromLocalFile(path); //待复制的文件if(url.isValid()){copyfile.push_back(url);}else{return;}QMimeData *data=new QMimeData;data->setUrls(copyfile);QClipboard *clip=QApplication::clipboard();clip->setMimeData(data);ui->textBrowserStatus->append("导出为pdf成功ok");
}
Qt5把图片如何导出为pdf再到剪切板相关推荐
- 经验:从ppt复制到word中的图片在导出成PDF后出现黑框怎么解决
经验:从ppt复制到word中的图片在导出成PDF后出现黑框怎么解决 更新历史 20190602: 首次发布 在使用ppt和word的过程中,发现一个现象:将ppt中的图片复制到word中时,图片是没 ...
- C# Winform 从扫描仪获取图片 并导出为PDF
最近在做一个科研档案管理系统的项目,需要能够直接调用扫描仪进行扫描.扫描仪又分为是否有进稿器(批量扫描和一张一张扫描),进稿器模式使用twain协议就可以做,直接可以得到PDF文件,这个网上有很多案例 ...
- 截图指定区域图片并导出至PDF文件
导出效果: void QTabTreatVerifyPanel::ExportShotScreenSlot(QString path) { //m_pixmap = QPixmap::grabWind ...
- 让input支持 ctrl v上传粘贴图片? 让input支持QQ截图或剪切板中的图像数据(Java实现保存)...
原理:监听粘贴 → 获取粘贴内容 → 将内容上传 → 抓取后返回替换至input 我们在生产中用到的界面: 测试地址 http://sms.reyo.cn 用户名:aa 密码:123456 以下是PH ...
- 【Python】外文PDF阅读助手-使用win32clipboard实现去除剪切板(Clipboard)内容的换行符
1. 实现效果 在阅读外文PDF时,需要复制文字,会发现粘贴出来的文字都出现很奇怪的换行. 使用该Python脚本,可直接替换掉 剪切板 内的换行.再 Ctrl + V,完美. 2. 脚本代码 改自: ...
- VC 操作word部分代码(利用剪切板取得Word中的图片,ClipBoard, Addpicture)
在32位WIN7 VS2012环境下测试通过,在64位WIN7 VS2013环境下GlobalLock和GlobalSize函数返回NULL,具体参见注释 // 读取给定文件名的Doc文档中的数据 B ...
- OFDRW提供了将OFD文档导出为其他格式文档的能力,如导出为图片、SVG、PDF、文本等
OFDRW提供了将OFD文档导出为其他格式文档的能力,如导出为图片.SVG.PDF.文本等. OFDRW 转换模块在 2.0.0 之后抽象了多种文档导出接口,使用统一的 API 实现 OFD 文档导出 ...
- qt5 传输 图片压缩_图片如何转换成pdf?免费教你几个宝藏方法,请低调使用!...
图片如何转换成pdf?很多人在传输图片的时候都喜欢直接打包文件将其压缩再传送,其实这样并不方便他人查看,并且受到压缩/解压缩工具的限制,很可能对方压根无法查看收到的图片.建议大家可以尝试把图片转换为P ...
- 实现DOC、DOCX转换为PDF 再将PDF转换为图片
实现DOC.DOCX转换为PDF 再将PDF转换为图片 首先导入需要的依赖 <dependency><groupId>cn.hutool</groupId>< ...
最新文章
- FastAI 2019课程学习笔记 lesson 2:自行获取数据并创建分类器
- 花了我一个晚上浓缩了一整套阿里资深技术专家设计教程整理出的java架构设计方法
- python 网络相关依赖库 dpkt、scapy、pcap 安装
- JS window对象常用方法
- java ceilingentry_java.util.TreeMap.ceilingKey()
- 经典C语言程序100例之十
- android camera分辨率设置,请问如何使用camera2设置全屏preview,要求适配所有屏幕尺寸?...
- python实现蜘蛛功能批量下载手机壁纸
- 以太坊 node data write error_Node之 创建服务器与客户端
- Kernel那些事儿之内存管理(2) --- 百闻不如一见
- jQuery (二)
- Matlab中TCP通讯-实现外部程序提供优化目标函数解
- 整人小程序【转自CSDN】
- 支配树(Dominator Tree)
- MarkdownPad 2的安装、配置、优化,自定义样式、生成目录,解决win10渲染错误等
- 程序员技术面试与HR谈薪资技巧的一些经验心得
- 【Java】浅谈Swing概况及简单窗口的构建
- 初识Python之刨根问底
- 拒绝踩坑!源码编译 tensorflow 解决 cuda 不配套 万金油方法
- 1549: 蔡老板发工资
热门文章
- 1400亿改造大明宫遗址区 西安将建城市中央公园
- 安全信息管理系统(OSSIM)
- 海信linux系统信息,海信公交车数据采集系统 调试信息
- 优麒麟的一些使用上的问题
- 为什么一场比赛进3球叫帽子戏法?
- u盘显示请插磁盘f_教你自己解决U盘故障(磁盘不能打开并提示请插入磁盘)
- 【Java并发编程实战】(十七):Future和CompletableFuture的原理及实战——异步编程没有那么难
- waves效果器_Waves混音指南:疯狂、混乱、创造性的失真,用Berzerk失真开脑洞!...
- h5故障代码_格力变频空调显示故障代码“H5”维修方法与流程
- Mac | 替换系统自带的壁纸