qt实现打开pdf(阅读器)功能用什么库比较合适

关于这个问题,网上搜一下,可以看到非常多的相关博客和例子,可以先看看这个总结性的博客(https://zhuanlan.zhihu.com/p/480973072)

该博客讲得比较清楚了,这里我再补充一下吧(qt官方也给出了一些答案 Handling PDF - Qt Wiki),根据调研对比,常见的几个库,个人认为如下:

顺便说一下,https://github.com/develtar/qt-pdf-viewer-library 这个也是一个pdf打开库​,介绍说是对上面qpdf用qml进行的封装,我试了一下流畅很多了,但是技术跨度太大,而且只能msvc编译成功(因为又是嵌入了WebEngine那一套,注意一个编译错误"非类模板弄为类模板",修改:friend class Singleton;之前加入一句template <class T>即可)​​​​​​。

总的来说,在qt上,应该还是高版本后(5.14以后吧),qt库自带的 qtpdf库用起来最简单方便好用,也能兼顾各种性能以及qt编码风格使用习惯什么的了 ,毕竟qt官方亲自封装的这个库(后面它们应该还会持续封装这个库的,因为接口和功能太多了,目前还封装实现得比较基础),他们也比较推荐这个,qt开发的话应该用起来是首选的吧。上面的qtpdf运行结果如下:

此外,上面的proppler-qt5库也是非常不错的,可以说是最不错的了,因为它qt形式封装得最好(连search这些都封装了),超过目前的qt第三方封装的qtpdfium库以及qt自家封装的qtpdf库了,值得用用。

看了网上这么多博客,以及自己下载的示例进行实践,发现都是将pdf页渲染为图片的形式显示,导致没法选中,以及查找等操作。要想实现的话,必须要能够支持编辑的一些更强大的库,但是这些库都非常复杂,所以要做这个功能,就要好好想想了 QT中PDF查找和高亮显示。当前qt pdf这块做得比较好的开源的是雨田哥的博客,没开源,大家也可以看看。

相关推荐
实心儿儿7 小时前
Qt — Qt 事件
开发语言·qt
bkspiderx14 小时前
Qt 的消息机制:事件驱动与信号槽的底层逻辑
开发语言·qt·信号槽·事件驱动·qt 的消息机制
江湖人称菠萝包15 小时前
【Qt】《Qt 5.9 C++开发指南》笔记-Chapter11-数据库
笔记·qt·qt5
励志不掉头发的内向程序员16 小时前
【从零写一个CAD 02】画完第一条线之后:实体容器、Esc 取消,和按了没反应的键盘
开发语言·c++·qt·学习·系统架构
Quz21 小时前
QML TreeView:排序与搜索过滤
qt
Quz1 天前
QML TreeView:基础树视图与自定义委托
qt
Junfeng的技术笔记1 天前
基于 C++/Qt 的雷达回波信号检测与测距仿真系统
qt
Quz1 天前
QML TableView:自定义样式与排序表格
qt
Quz1 天前
QML TableView:可编辑表格与 SQLite 数据持久化
qt·sqlite
Quz1 天前
QML ListView:C++ 数据模型与 ProxyModel 实时过滤
qt