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这块做得比较好的开源的是雨田哥的博客,没开源,大家也可以看看。

相关推荐
Eiceblue39 分钟前
用Python轻松转换Markdown文件为PDF文档
开发语言·vscode·python·pdf·word
hss27991 小时前
【Qt】QTableWidget设置可以选择多行多列,并能复制选择的内容到剪贴板
开发语言·qt
码力码力我爱你3 小时前
C++ 实现QT信号槽
开发语言·c++·qt
txwtech4 小时前
VS开发QT程序图标修改
qt
kaixin_learn_qt_ing4 小时前
继承QAbstractListModel,结合QListView
开发语言·qt
castlooo4 小时前
QStringListModel 绑定到QListView
c++·qt
weixin_578371884 小时前
pdf太大怎么压缩大小,pdf文件太大如何压缩变小
pdf
劉小帅5 小时前
CANoe的capl调用Qt制作的dll
qt·can
海天鹰15 小时前
Qt绘制多线段
qt
Tesseract_952715 小时前
Qt/C++模拟鼠标键盘输入
c++·qt