Qt PDF预览功能实现汇总
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预览功能实现汇总相关推荐
- uni-app实现PDF预览功能(避坑看这)
目录 前言 一.下载PDF预览相关文件 二.使用步骤 前言 去年就想写一篇关于uni-app的pdf预览功能,拖很久了,补上. 一.下载PDF预览相关文件 下载地址 解压后效果: 二.使用步骤 在 ...
- 实现微信小程序和手机app(基于vue)PDF预览功能
引言:最近在做微信小程序和手机端app开发(基于vue),实现一个pdf预览功能. 需求:点击pdf列表,跳转到预览pdf页面,页面上强制阅读10s后,显示一个按钮返回,更新阅读状态: 要求:不能调用 ...
- 微信小程序实现PDF预览功能——pdf.js(含源码解析)
文章目录 前言 一.pdf.js 是什么? 二.使用步骤 1.下载库文件 2.使用方式 微信小程序端--使用 web-view 标签 H5 端--使用 iframe 标签(使用vue框架) 3.更改源 ...
- 控制chrome中PDF预览工具栏
在实际开发中,遇到使用chrome自带的PDF预览功能,前端把后台返回的地址,通过XMLHttpRequest转换成blob,并在blob地址后拼接上文件名称,通过创建embed展示PDF: 这种方法 ...
- 电子档案目录PDF预览
# 需求 档案电子化 著录模块 需要PDF预览功能 方便打印标准A4纸质文档 模版如下图: 代码流程: 控制层: /*** 预览档案目录*/@GetMapping("preview-c ...
- jsp 展示服务器pdf文件,pdf在线预览_jsp实现pdf在线预览功能
摘要 腾兴网为您分享:jsp实现pdf在线预览功能,钻石星球,桌面时钟,学堂在线,新东方等软件知识,以及新游手柄游戏厅,qq6.2,硬盘坏道,录音盒,番茄花园rom,x架子,内蒙古科协,陕西交管121 ...
- vue中pdf预览组件_Vue+ElementUI使用vue-pdf实现预览功能
Vue + ElementUI项目中使用vue-pdf实现简单预览,供大家参考,具体内容如下 1.安装 vue-pdf npm install --save vue-pdf 2.在vue页面中导入对应 ...
- java零碎要点010---Java实现office文档与pdf文档的在线预览功能
最近项目有个需求要java实现office文档与pdf文档的在线预览功能,刚刚接到的时候就觉得有点难,以自己的水平难以在三四天做完.压力略大.后面查找百度资料.以及在同事与网友的帮助下,四天多把它做完 ...
- 前端【vue】实现文档在线预览功能,在线预览pdf、word、xls、ppt等office文件
前端江太公 前端实现文档在线预览功能 最直接的就是使用XDOC 文档云服务 XDOC可以实现预览以DataURI表示的DOC文档,此外XDOC还可以实现文本.带参数文本.html文本.json文本.公 ...
- office 文档 在线预览功能实现(word,excel,pdf,ppt等多种格式)——使用https://view.xdocin.com/view 提示文档过期——基础积累
web实现office文档在线预览功能--基础积累 最近遇到一个需求,就是要实现多种文档链接的在线预览,最简单的方式就是通过window.open(url地址)的方式来实现. 但是如果要求是在一个弹窗 ...
最新文章
- Atom相关资料整理
- oracle存储查询出来的值_技术分享|浅析ORACLE数据库物理体系结构及其对应优化策略...
- (三十)java多线程一
- Swift 3.0 on Ubuntu 15.10
- 找高清壁纸,没有那么麻烦,高图网帮你搞定!
- Ubuntu 12.04下关闭图形界面知识整理-转
- 编程语言的语法与语义
- python下载安装教程-Python和Anoconda和Pycharm安装教程
- jsp来实现 验证码 登录案例 有图 有码
- edp协议 netty_使用esp8266 arduino 通过EDP协议 将数据传递到onenet平台
- oracle rap,部署RAP服务器
- ispreedSheet ios编辑类似表格界面在ipad上
- java过滤_java 过滤list的几种方式
- ICML 2023截稿时间
- Java IO流学习总结(一)—— IO流分类和常用IO流汇总
- 熟悉FreeSWITCH 一
- Netflix创始人:我不要求996,照样市值万亿!
- linux中c语言开发实验报告,Linux下C语言编程实验报告.doc
- 基于元胞自动机的人员疏散模拟器研究(Matlab代码实现)
- 我学会了用计算机作文,我学会了用计算机
热门文章
- 终于找全了!质量总监、质量经理、计划主管..质量部27个岗位职责
- ATMEGA328P引脚定义图
- 无损分区工具调整硬盘分区
- html5 选择收货地址,基于layer.js实现收货地址弹框选择然后返回相应的地址信息...
- 计算机处于离线状态是什么原因,电脑Cortana语音助手显示处于离线状态怎么办?...
- 【收藏向】最全全栈工程师学习路径(基于Java)
- FPGA入门实验试验报告
- ttc、otf、ttf文件制作以及相关数据增强(OCR)
- 数学建模(NO.9斯皮尔曼相关系数)
- Cron 定时任务表达式