Qt:QPdfDocument渲染PDF文件时的信息丢失问题

背景

Qt自带了QPdfDocument可以用来打开并渲染PDF文件,同时Qt也提供了qtpdf multipage example,可以浏览多页PDF文件,如下图:

问题

但在使用过程中发现,对于某些PDF文件,QPdfDocument在渲染时会丢失部分信息。

多次尝试后总结出规律:QPdfDocument渲染时会丢失通过编辑工具添加的内容 ,以下图中的PDF文件为例:

黑字是利用Word生成的PDF内容,红字是用Windows自带浏览器Edge中的编辑工具添加的内容。

这个PDF文件在诸如Adobe的PDF viewer和Chrome中都能正常显示:

但是在Qt的qtpdf multipage example中却会丢失红色部分的内容,内容就是在QPdfDocument渲染时丢失的:

结论

显然QPdfDocument渲染PDF文件时会丢失编辑工具添加的内容,如果比较在意这一点,就得考虑其他方案了。

经过测试,使用poppler将PDF转化为图片就不会丢失内容,poppler的具体使用可以参考poppler官网

相关推荐
勇闯逆流河1 小时前
【C++】C++11(下)
开发语言·c++
胡萝卜3.07 小时前
掌握C++ map:高效键值对操作指南
开发语言·数据结构·c++·人工智能·map
电子_咸鱼7 小时前
【STL string 全解析:接口详解、测试实战与模拟实现】
开发语言·c++·vscode·python·算法·leetcode
月夜的风吹雨10 小时前
【封装红黑树】:深度解析map和set的底层实现
c++·set·map·封装
列逍10 小时前
深入理解 C++ 智能指针:原理、使用与避坑指南
开发语言·c++
C语言小火车10 小时前
C/C++ 指针全面解析:从基础到进阶的终极指南
c语言·开发语言·c++·指针
小灰灰搞电子11 小时前
Qt 使用打印机详解
开发语言·qt
lqj_本人11 小时前
鸿蒙Qt混合开发:NAPI数据转换的深坑与避雷指南
开发语言·qt
天蝎没有心11 小时前
QT-对话框
开发语言·qt
wefg111 小时前
【C++】特殊类设计
开发语言·c++