当前位置: 首页 > news >正文

QT自带PDF库的使用

      QT自带PDF库可以方便的打开PDF文件,并将文件解析为QImage,相比网上提供的开源库,QT自带PDF库使用更方便,也更加可靠,然而,QT自带PDF库的使用却不同于其他通用库的使用,具备一定的技巧。

1. 安装

      QTPDF在QT中属于QWebEngine ,在安装时一定要选择“Qt WebEngine”和“Sources”

       安装完成后,在QT的安装目录lib下就多了QT PDF相关的静态库

2.  环境搭建

    由于QT pdf文件的头文件位于src目录下,所以要将相关的头文件拷贝到QT的Include目录下

将文件夹C:\Qt\5.15.0\Src\qtwebengine\src\pdf拷贝到C:\Qt\5.15.0\msvc2019_64\include

    为了QT头文件编译时能够通过,将C:\Qt\5.15.0\Src\qtwebengine\src拷贝到目录C:\Qt\5.15.0\Src下

3. 工程环境配置

    为了链接能够通过,需在工程中增加QT模块的设置和工程库

4. QPDFDocument的使用

      引用头文件

    

#include <QtPdf/qpdfdocument.h>

    利用QPdfDocument读取pdf文件并转化为QImage

        QString FileName = QFileDialog::getOpenFileName(this, nullptr, "E:/CAD files/PDF/", "PDF Files(*.*)");if (FileName.isEmpty()){return;}QPdfDocument* document = new QPdfDocument;document->load(FileName);int totalPage = document->pageCount();m_pdfImageList.clear();for (int page = 0; page < totalPage; page++){QSizeF size = document->pageSize(page);QImage image = document->render(page, QSize(size.width(), size.height()));m_pdfImageList.push_back(image);}document->close();

显示QImage

QImage image = m_pdfImageList[m_CurrentPage];ui.labelImage->clear();ui.labelImage->setPixmap(QPixmap::fromImage(image));

5. 测试效果

 

 

http://www.lryc.cn/news/120353.html

相关文章:

  • SQL | 排序检索的数据
  • 8. yaml文件管理
  • Cobbler自定义yum源
  • 《算法竞赛·快冲300题》每日一题:“特殊数字”
  • 在R中比较两个矩阵是否相等
  • 商城-学习整理-基础-商品服务API-属性分组(七)
  • 什么是响应式设计?列举几种实现响应式设计的方法。
  • Java类和对象(一文读懂)
  • 用友移动管理系统 任意文件上传漏洞复现(HW0day)
  • 启动springboot,出现Unable to start embedded Tomcat
  • 加密和安全
  • Maven基础总结
  • Java 编程实战:如何用 Java 编写一个简单而强大的 Tomcat
  • 【JavaSE】数组的定义与使用
  • 银河麒麟安装php7.1.33
  • Kubernetes集群部署上篇(安装部署,但是集群网络未部署)
  • 跨境电商中的安全挑战与隐擎Fox指纹浏览器的应用
  • 10. Docker Swarm(一)
  • 【MySQL】InnoDB存储引擎详解
  • 组合求和-矩阵连乘所有加括号方式_2023_08_12
  • 《3D 数学基础》12 几何图元
  • 【设计模式——学习笔记】23种设计模式——备忘录模式Memento(原理讲解+应用场景介绍+案例介绍+Java代码实现)
  • 致谢丨感谢有你,JumpServer开源项目九周年致谢名单
  • 使用 Python 和 Flask 构建简单的 Restful API 第 1 部分
  • 【深度学习所有损失函数】在 NumPy、TensorFlow 和 PyTorch 中实现(2/2)
  • Hazel 引擎学习笔记
  • Linux系统下Redis3.2集群
  • Android图形-合成与显示-SurfaceTestDemo
  • 高压放大器怎么设计(高压放大器设计方案)
  • SpringBoot yml配置注入