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官网

相关推荐
choumin37 分钟前
创建型模式——原型模式
c++·设计模式·原型模式·创建型模式
王维同学2 小时前
Credential Provider、Filter 与 PLAP 的 CLSID 枚举
c++·windows·安全·注册表
Carlgood-Minecraft3 小时前
随机分位系统破解版 (BPS)Version-B4.2
c++
choumin3 小时前
结构型模式——装饰模式
c++·设计模式·装饰模式·结构型模式
蓝创工坊Blue Foundry4 小时前
PaddleOCR 本地部署教程:小模型 OCR 如何完成字段提取到 Excel
pdf·自动化·ocr·excel·paddlepaddle·paddle
paeamecium4 小时前
【PAT甲级真题】- Kuchiguse (20)
数据结构·c++·python·算法·pat考试·pat
Quz5 小时前
QML 选择控件:Switch、CheckBox 与 RadioButton
qt
txzrxz5 小时前
拓补排序讲解
c++·算法·图论·排序
小保CPP6 小时前
OpenCV C++基于模糊数学的图像滤波
c++·人工智能·opencv·计算机视觉
熬夜苦读学习6 小时前
Qt常用控件
服务器·开发语言·qt