qt显示pdf——poppler-qt问题

一尺丈量 一尺丈量 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
大家有没有用过poppler库呀,最近在用poppler-qt5库显示pdf文档,但问题挺严重的。
其实使用poppler-qt库显示pdf文档比较简单,主要代码为:

Poppler::Document *doc;
QString path = QFileDialog::getOpenFileName(&w, QString("打开一个文本"), ".", QString("(*.pdf)"));
doc = Poppler::Document::load(path);

int index = 0;
Poppler::Page *pdfPage = doc->page(index);
if (pdfPage == 0)
{
return 1;
}

//doc->setRenderHint(QPainter::SmoothPixmapTransform);
int w1 = 1180;
QImage image = pdfPage->renderToImage(200, 200, -1, -1, -1, -1);

QPixmap pix = QPixmap::fromImage(image);

上面的代码是将pdf文件第一页渲染为一个图片,然后就将pix显示在桌面上。
但问题是语句:
QImage image = pdfPage->renderToImage(200, 200, -1, -1, -1, -1);

这里是生成水平和垂直分辨率都为200的图片,但这样整个图片就会变得非常之大。在我的电脑上生成的一张图片是:980KB,生成的图片为:

大小为:1654X2339
但如果将分辨率改小点,如72,那么整个图片将会是下面这个样子的:

大小为:595X843
整个页面会变得非常模糊。
请问这是什么原因呢?这个库非常有名,不应该是这样才对的,是我缺少了哪个步骤吗?但官方的教程也是这样的。。。。

一般情况下分辨率为72的图像已经是非常清晰的了,但这里设置为200时,只是图片变大了,但清晰度肯定还达不好72分辨率的。
...全文

相关推荐

评论 9
收藏 已收藏
分享
返回顶部
一尺丈量
Qt 21,503 成员 26,693 内容