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

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

总的来说,在qt上,应该还是高版本后(5.14以后吧),qt库自带的 qtpdf库用起来最简单方便好用,也能兼顾各种性能以及qt编码风格使用习惯什么的了 ,毕竟qt官方亲自封装的这个库,他们也比较推荐这个,qt开发的话应该用起来是首选的吧。但是有个问题:只能用msvc2019及其以上qt版本以及编译器,这个就有点难受了,而自己想要mingw编译器的话,编译就很麻烦了。所以需要自己编译,这里有个人提供了详细信息,真的牛逼 https://blog.51cto.com/u_2194662/5256871,当然这里编译出来了各种形式的库了 QtPdfium_Build_Source: 基于Google pdfium 库,可编译和编译好的Qtpdfium 库,用于加载pdf文件进行预览

,那么我们想编译成mingw版本或者msvc版本都可以了(但是该工程是cmakelist的,如果用qmake,那么参考官方源码工程 https://github.com/qt-labs/qtpdf/tree/dev),真的太牛逼了,当然,也可以用qt官方方法 https://blog.51cto.com/u_2194662/5256871 进行编译,但是mingw应该会报错,所以需要前面这个老哥的修改方式,才能成功。结果如下:

此外,https://github.com/develtar/qt-pdf-viewer-library 这个好像是qt官方商业版搞的编译成的库?没仔细研究了。

值得推荐的开源例子:

  1. proppler实现的阅读器。但是该阅读器不能选中文本,这个比较难受了,印证了上面说的每一页都渲染为了图片了。Qt5使用Poppler实现PDF阅读器_poppler qt 5 是一个用于 qt 的 pdf 渲染库。它可以用来在 qt 应用程序中显示 -CSDN博客

 

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

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部