qt显示pdf——poppler-qt问题
大家有没有用过poppler库呀,最近在用poppler-qt5库显示pdf文档,但问题挺严重的。
其实使用poppler-qt库显示pdf文档比较简单,主要代码为:
上面的代码是将pdf文件第一页渲染为一个图片,然后就将pix显示在桌面上。
但问题是语句:
这里是生成水平和垂直分辨率都为200的图片,但这样整个图片就会变得非常之大。在我的电脑上生成的一张图片是:980KB,生成的图片为:

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

大小为:595X843
整个页面会变得非常模糊。
请问这是什么原因呢?这个库非常有名,不应该是这样才对的,是我缺少了哪个步骤吗?但官方的教程也是这样的。。。。
一般情况下分辨率为72的图像已经是非常清晰的了,但这里设置为200时,只是图片变大了,但清晰度肯定还达不好72分辨率的。
其实使用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分辨率的。
...全文
相关推荐
pdfPlayer v1.0.0.rar
**Qt PDF阅读器——pdfPlayer v1.0.0**在IT行业中,Qt是一个非常流行的跨平台应用程序开发框架,由The Qt Company提供。
十二、Qt 操作PDF文件(2)
1.通过选择框选择PDF文件并打开,默认打开第一页。 2.通过上一页、下一页按钮实现翻页功能。 3.通过第一页、最后一页、跳转到某一页,实现了定位打开某一页功能。 4.通过关闭PDF按钮,可以关闭本次打开的PDF文件。
Qt使用poppler读取pdf
在本文中,我们将深入探讨如何在Qt环境中使用Poppler库来读取PDF文件,并将其转换为图像以便在GUI界面上显示。首先,我们先了解一下Qt和Poppler的基本概念。
Qt利用Poppler解析pdf成图片
在实现过程中,可能会遇到的问题包括PDF的加密、旋转、缩放等,Poppler库都提供了相应的处理方法。
Qt pdf poppler
而当我们需要在Qt应用中处理PDF文档时,通常会引入Poppler库。Poppler是一个开源的PDF文档解析库,它为开发人员提供了读取、显示和操作PDF文件的能力。


