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

相关推荐
Java面试题总结44 分钟前
基于 Java 的 PDF 文本水印实现方案(iText7 示例)
java·python·pdf
傻啦嘿哟2 小时前
Python操作PDF页面详解:删除指定页的完整方案
开发语言·python·pdf
ae_zr3 小时前
QT动态编译应用后,如何快速获取依赖
开发语言·qt
LYOBOYI1234 小时前
qml的对象树机制
c++·qt
菜鸟小芯5 小时前
Qt Creator 集成开发环境下载安装
开发语言·qt
牵牛老人8 小时前
Qt中集成 MQTT 来实现物联网通信:从原理到实战全解析
开发语言·qt·物联网
LYOBOYI1239 小时前
qml的布局策略
c++·qt
小小码农Come on11 小时前
QT常用控件:QListWidget
开发语言·qt
侯孟禹11 小时前
Gemini写的抠图工具
qt·opencv
m5655bj11 小时前
使用 C# 修改 PDF 页面尺寸
java·pdf·c#