导出效果:

void QTabTreatVerifyPanel::ExportShotScreenSlot(QString path)
{
//m_pixmap = QPixmap::grabWindow(winId(), 338, 460, 652, 455);//截取界面指定区域图像

/*此种方法有可能会导致软件界面上部分控件被隐藏*/
//QScreen* screen = QGuiApplication::primaryScreen();
//m_pixmap = screen->grabWindow(this->winId(), 338, 460, 652, 455);//截取界面指定区域图像
//ui.label->setPixmap(m_pixmap.scaled(ui.label->size()));//将所截图显示在label中/*此种方法可解决控件隐藏问题*/
m_pixmap = this->grab(QRect(338, 460, 652, 455));QDateTime dateTime = QDateTime::currentDateTime();                //当前日期和时间
QString ExportTime = dateTime.toString("yyyyMMddhhmmsszzz"); //导出时间
/***************************************************************/
QString pdfPath = path + ExportTime + "ExoprtShotScreenFile.pdf";//导出路径QPrinter printer_html;
printer_html.setPageSize(QPrinter::A4);
printer_html.setOutputFormat(QPrinter::PdfFormat);
printer_html.setOutputFileName(pdfPath);QPainter painter_pixmap;
painter_pixmap.begin(&printer_html);
/*QRect rect = painter_pixmap.viewport();
int multiple = rect.width() / m_pixmap.width();
qDebug() << "mul = " << multiple;*/
//painter_pixmap.scale(multiple, multiple + 1); // 缩放比例painter_pixmap.setPen(Qt::black);
painter_pixmap.setFont(QFont("Arial", 30));
painter_pixmap.drawText(QRect(60,70,652,50), Qt::AlignCenter, QStringLiteral("温度图数据"));
painter_pixmap.drawPixmap(60, 150, m_pixmap);//绘制截图printer_html.newPage();
painter_pixmap.resetTransform();
QString sTime2 = QStringLiteral("序号") + "        " + QStringLiteral("图像时间") + "        " + QStringLiteral("焦点温度") + "        " + QStringLiteral("头皮温度");painter_pixmap.setPen(Qt::black);
painter_pixmap.setFont(QFont("Arial", 10));
painter_pixmap.drawText(QRect(60, 70, 652, 20), Qt::LeftToRight, sTime2);painter_pixmap.setFont(QFont("Arial", 8));
int count = 0;for (int i = 0; i < m_vCurveDataSkin.size(); i++)
{count++;if (count % 64 == 0){printer_html.newPage();painter_pixmap.resetTransform();}QString sTime3 = QString::number(count) + "                " + m_vAcqTimes.at(i).left(8) + "                " + QString::number(m_vCurveData.at(i), 'f', 2) + QStringLiteral("℃") + "                " + QString::number(m_vCurveDataSkin.at(i), 'f', 2) + QStringLiteral("℃");painter_pixmap.drawText(QRect(60, 80 + (count % 64) * 15, 652, 15), Qt::LeftToRight, sTime3);
}painter_pixmap.end();m_pDlgTemperatureCurveSet->show();
//QDesktopServices::openUrl(QUrl::fromLocalFile(pdfPath));//显示PDF文件

}

截图指定区域图片并导出至PDF文件相关推荐

  1. jspdf插件实现jsp页面导出为pdf文件

    最近在公司里实习作项目,项目中有一个优化需求,就是将指定的jsp页面导出为pdf文件输出.因为之前从未了解过相关方面只知识,所以在查了一番资料后,发现大家写的都很散,不是很清楚,甚至有的代码执行不出来 ...

  2. 经验:从ppt复制到word中的图片在导出成PDF后出现黑框怎么解决

    经验:从ppt复制到word中的图片在导出成PDF后出现黑框怎么解决 更新历史 20190602: 首次发布 在使用ppt和word的过程中,发现一个现象:将ppt中的图片复制到word中时,图片是没 ...

  3. iOS-自定义相机拍照获取指定区域图片

    功能并不难,之所以被难住是因为把问题想复杂了,记录一下. 自定义的相机拍照使用AVCaptureSession,获取指定区域图片使用图片裁切功能,重点在于不能直接使用AVCaptureSession获 ...

  4. 通过前端实现导出生成pdf文件并下载

    通过前端实现导出生成pdf文件并下载 使用 jspdf.js + html2canvas 插件,实现前端生成pdf 并下载的功能 步骤如下 1.先通过npm 安装插件 npm install jspd ...

  5. xml文件转换成图片_如何把pdf文件转换成图片?

    pdf文件怎么转成JPG图片呢?相信有不少人在迷惑,可能还在想着截图等操作来完成转换,但如果是截图成JPG图片后的效果可能很差,并没有之前pdf文件那么清楚.那这样往往打印出来的效果也不怎么理想,那怎 ...

  6. 【前端html页面数据导出为pdf文件】

    [前端html页面数据导出为pdf文件] 文前白话 在网页端导出 Excel 数据表格保存本地 前端html页面数据导出为pdf文件 文前白话 项目需要,将网页端查询的数据结果与数据分析结果导出文件, ...

  7. Python使用matplotlib可视化绘制并通过Tkinter生成按钮将可视化结果导出为pdf文件

    Python使用matplotlib可视化绘制并通过Tkinter生成按钮将可视化结果导出为pdf文件 目录 Python使用matplotlib

  8. 电脑上怎么做pdf文件_图片怎么输出为PDF文件?两种办法教你,手机电脑都能转...

    我们经常遇到要将图片转换成pdf文件输出的情况,那么我们有什么办法能更快更好进行转换呢?小编今天给大家带来两个办法,一个是手机上操作的,另一个是电脑上的方法,实测好用! 手机端转换 手机上小编一般会使 ...

  9. Axure原型设计导出到PDF文件

    Axure 没有直接导出PDF文件的功能,可以通过Axure 的打印功能,选择PDF打印机,以间接的方式将原型设计导出到pdf文件里. 操作步骤 以Axure9为例 打印 Axure9---文件--- ...

最新文章

  1. spring 自定义标签的实现
  2. 对CMMI3的学习和思考
  3. deb包如何改支持12系统_对一个deb包的解压、修改、重新打包全过程方法
  4. Docker的安装与使用
  5. 如何选择合适的BI工具
  6. python中self和cls的区别
  7. 十天征服单片机百度云_郭天祥十天征服单片机视频下载地址
  8. php注册后面有对号错号,网络编程jQuery Ajax显示对号和错号用于验证输入验证码是否正确...
  9. CwRsync实现文件同步(windows或linux服务器通用)
  10. 推荐算法中CTR和CVR的ESMM模型pytorch实现
  11. 编程语言c语言程序包括的几种语句
  12. Python+OpenGL绘制任意长度和次数的B样条曲线
  13. 第一个安卓app应用的开发--环境配置和第一项目创建
  14. 二、VLAN,单臂路由
  15. 怎样将pdf压缩得很小?如何把pdf压缩到最小?怎么把pdf压缩到最小?如何把pdf文档压缩变小?怎么将pdf文档压缩至更小?怎么把pdf压缩到最小方法软件网站有哪些?
  16. VSCode,插件安装失败,解决方法
  17. Web Workers详解
  18. 51学工坊整理|甲骨文Oracle数据库 21c来了,来看看有哪些创新技术
  19. Rancher简介和部署
  20. lisp画示坡线_示坡线画法图文教程

热门文章

  1. error lnk2001: mysql_LNK2001: 无法解析的外部符号的几种情况
  2. 【源码分享下载】每日更新之高仿京东商城
  3. 四川省赛 SCU - 4438
  4. Django模型信号——django.db.models.signals
  5. 计算机二级使用宏,【二级Office】Word控件、宏功能的简单运用
  6. Linux 汇编语言开发指南(转)
  7. laravel眼瞎么?
  8. 高超声速飞行器轨迹跟踪控制仿真研究
  9. 职工计算机应用学什么,中国工程物理研究院职工工学院计算机应用技术(专科)专业介绍...
  10. SSD存储服务器 硬盘数量,边缘计算加速服务器存储介质从机械硬盘向固态硬盘转变...