Qt PDF预览功能实现汇总(持续更新)

目前Qt 程序实现PDF预览功能主要有一下几种方式:

  • 使用第三方库

    • Poppler
    • MuPDF
    • Pdfium
    • QtPdfium: 基于Pdfium的Qt封装版本
  • 使用Qt内部模块和类
    • QPrintPreviewWidget,QPrinter, QPainter
    • QWebEngeWidget: 目前Qt5.6以及后续版本,仅MSVC编译器才有,mingw编译器无改模块

基于Poppler

Poppler为开源库,但是目前仅有32位版本的Qt库文件,无64位版本库。若想使用Qt 64位版本,如采用现在的Qt5.12版本开发软件,使用Poppler会不兼容,需要自己采用CMake下载Poppler源码编译库文件。但是Poppler编译时,需要依赖10多个外部库,想要找齐这些库,同时这些库还要编译,难度太大,而且资源不好找,所以对于64位程序,并不可行

基于MuPDF

待尝试验证

基于Pdfium

待尝试验证

Pdfium是谷歌开源的祈福阅读器的部分代码

基于QtPdfium

已经实现基于Pdfium源码,在Qt5.12 mingw 64位版本,进行编译生成Qt 版本的 64位动态和静态库文件。同时实现了pdf文件读取、画布类、显示类,实现放大、缩小、多页显示、滚动条、拖动等功能。
详情见后续更新代码和效果预览:

类似于PDF阅读器功能,基本实现。

基于QPrintPreviewWidget

已经验证完成,见我另外一篇文章。
可以实现PDF实时预览,放大和缩小功能

《Qt程序内预览PDF内容(QPrintPreviewWidget)》

Qt PDF预览功能实现汇总相关推荐

  1. uni-app实现PDF预览功能(避坑看这)

    目录 前言 一.下载PDF预览相关文件 二.使用步骤 前言 去年就想写一篇关于uni-app的pdf预览功能,拖很久了,补上. 一.下载PDF预览相关文件 下载地址 解压后效果: 二.使用步骤 在  ...

  2. 实现微信小程序和手机app(基于vue)PDF预览功能

    引言:最近在做微信小程序和手机端app开发(基于vue),实现一个pdf预览功能. 需求:点击pdf列表,跳转到预览pdf页面,页面上强制阅读10s后,显示一个按钮返回,更新阅读状态: 要求:不能调用 ...

  3. 微信小程序实现PDF预览功能——pdf.js(含源码解析)

    文章目录 前言 一.pdf.js 是什么? 二.使用步骤 1.下载库文件 2.使用方式 微信小程序端--使用 web-view 标签 H5 端--使用 iframe 标签(使用vue框架) 3.更改源 ...

  4. 控制chrome中PDF预览工具栏

    在实际开发中,遇到使用chrome自带的PDF预览功能,前端把后台返回的地址,通过XMLHttpRequest转换成blob,并在blob地址后拼接上文件名称,通过创建embed展示PDF: 这种方法 ...

  5. 电子档案目录PDF预览

    # 需求 档案电子化  著录模块  需要PDF预览功能  方便打印标准A4纸质文档 模版如下图: 代码流程: 控制层: /*** 预览档案目录*/@GetMapping("preview-c ...

  6. jsp 展示服务器pdf文件,pdf在线预览_jsp实现pdf在线预览功能

    摘要 腾兴网为您分享:jsp实现pdf在线预览功能,钻石星球,桌面时钟,学堂在线,新东方等软件知识,以及新游手柄游戏厅,qq6.2,硬盘坏道,录音盒,番茄花园rom,x架子,内蒙古科协,陕西交管121 ...

  7. vue中pdf预览组件_Vue+ElementUI使用vue-pdf实现预览功能

    Vue + ElementUI项目中使用vue-pdf实现简单预览,供大家参考,具体内容如下 1.安装 vue-pdf npm install --save vue-pdf 2.在vue页面中导入对应 ...

  8. java零碎要点010---Java实现office文档与pdf文档的在线预览功能

    最近项目有个需求要java实现office文档与pdf文档的在线预览功能,刚刚接到的时候就觉得有点难,以自己的水平难以在三四天做完.压力略大.后面查找百度资料.以及在同事与网友的帮助下,四天多把它做完 ...

  9. 前端【vue】实现文档在线预览功能,在线预览pdf、word、xls、ppt等office文件

    前端江太公 前端实现文档在线预览功能 最直接的就是使用XDOC 文档云服务 XDOC可以实现预览以DataURI表示的DOC文档,此外XDOC还可以实现文本.带参数文本.html文本.json文本.公 ...

  10. office 文档 在线预览功能实现(word,excel,pdf,ppt等多种格式)——使用https://view.xdocin.com/view 提示文档过期——基础积累

    web实现office文档在线预览功能--基础积累 最近遇到一个需求,就是要实现多种文档链接的在线预览,最简单的方式就是通过window.open(url地址)的方式来实现. 但是如果要求是在一个弹窗 ...

最新文章

  1. Atom相关资料整理
  2. oracle存储查询出来的值_技术分享|浅析ORACLE数据库物理体系结构及其对应优化策略...
  3. (三十)java多线程一
  4. Swift 3.0 on Ubuntu 15.10
  5. 找高清壁纸,没有那么麻烦,高图网帮你搞定!
  6. Ubuntu 12.04下关闭图形界面知识整理-转
  7. 编程语言的语法与语义
  8. python下载安装教程-Python和Anoconda和Pycharm安装教程
  9. jsp来实现 验证码 登录案例 有图 有码
  10. edp协议 netty_使用esp8266 arduino 通过EDP协议 将数据传递到onenet平台
  11. oracle rap,部署RAP服务器
  12. ispreedSheet ios编辑类似表格界面在ipad上
  13. java过滤_java 过滤list的几种方式
  14. ICML 2023截稿时间
  15. Java IO流学习总结(一)—— IO流分类和常用IO流汇总
  16. 熟悉FreeSWITCH 一
  17. Netflix创始人:我不要求996,照样市值万亿!
  18. linux中c语言开发实验报告,Linux下C语言编程实验报告.doc
  19. 基于元胞自动机的人员疏散模拟器研究(Matlab代码实现)
  20. 我学会了用计算机作文,我学会了用计算机

热门文章

  1. 终于找全了!质量总监、质量经理、计划主管..质量部27个岗位职责
  2. ATMEGA328P引脚定义图
  3. 无损分区工具调整硬盘分区
  4. html5 选择收货地址,基于layer.js实现收货地址弹框选择然后返回相应的地址信息...
  5. 计算机处于离线状态是什么原因,电脑Cortana语音助手显示处于离线状态怎么办?...
  6. 【收藏向】最全全栈工程师学习路径(基于Java)
  7. FPGA入门实验试验报告
  8. ttc、otf、ttf文件制作以及相关数据增强(OCR)
  9. 数学建模(NO.9斯皮尔曼相关系数)
  10. Cron 定时任务表达式