Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3537056
  • 博文数量: 864
  • 博客积分: 14125
  • 博客等级: 上将
  • 技术积分: 10634
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-27 16:53
个人简介

https://github.com/zytc2009/BigTeam_learning

文章分类

全部博文(864)

文章存档

2023年(1)

2021年(1)

2019年(3)

2018年(1)

2017年(10)

2015年(3)

2014年(8)

2013年(3)

2012年(69)

2011年(103)

2010年(357)

2009年(283)

2008年(22)

分类: C/C++

2010-12-20 15:40:26

在Qt程序中查看PDF文件(linux) 简 略地介绍了一下怎么在Qt-X11中使用poppler库来读取阅读PDF文件,因为在桌面应用中一般系统都会自带poppler-qt4安装包,所以使 用起来应该不会有什么问题。 但是想在QtEmbedded上使用poppler库,就得自己来编译了。对于Qt或Linux下编译不太熟悉的朋友,可能也算小有难度,所以本文讲在 QVFb下的编译配置分享出来,对于想做PDF Reader的朋友也算是个参考。

下载地址:
首先配置好下面几个环境变量

export POPPLER_QT4_CFLAGS=”-I/usr/local/Trolltech/QtEmbedded-4.5.2/include”
export POPPLER_QT4_LIBS=”-L/usr/local/Trolltech/QtEmbedded-4.5.2/lib -lQtGui -lQtXml”
export POPPLER_QT4_TEST_CFLAGS=”-I/usr/local/Trolltech/QtEmbedded-4.5.2/include”
export POPPLER_QT4_TEST_LIBS=”-L/usr/local/Trolltech/QtEmbedded-4.5.2/lib -lQtTest”
export MOCQT4=”/usr/local/Trolltech/QtEmbedded-4.5.2/bin/moc“
在你的系统上唯一要改的就是/usr/local/Trolltech/QtEmbedded-4.5.2这一串地址,改成你编译QtEmbedded时 指定的那个prefix地址,如果你没有指定prefix,那么默认安装路径就是/usr/local/TrolltechQtEmbedded- 4.x.x。

然后执行如下configure命令就可以了
./configure –enable-poppler-qt4

Qt本身是不支持PDF文件的解析的,但是我们可以通过第三方的库实现。
libpoppler就是这样一个能够解析pdf文件的工具,它提供了图形应用访问pdf接口。如果Qt程序希望能够使用它,则还需要安装一个libpoppler-qt4-dev(在ubuntu里是这个名字),这样能够使poppler输出Qt能识别的格式。

poppler通过Poppler:Document来对应一个pdf文件,例如

Poppler::Document *doc = Poppler::Document::load(path);

通过page(pageno)来对应pdf文件中的每一页。

1)你可以将page页转成QImage在自己的QWidget里显示,如

void DocumentWidget::showPage(int page)
{
QImage image = doc->page(currentPage)->renderToImage(
scaleFactor * physicalDpiX(),
scaleFactor * physicalDpiY());
...
setPixmap(QPixmap::fromImage(image));
}

2)你也可以在这个页面里查找文本

bool found = page->search(text, searchLocation,
Poppler::Page::NextResult,
Poppler::Page::CaseInsensitive);

searchLocation的值是QRectF格式,对应查到文本的一个区域,你可以高亮它

3)你也可以取出这整个页面的文本

QString text = doc->page(currentPage)->text(selectedRect);

本文目的不是要介绍怎么去用它,而是提醒有这么个工具。英文全文要详细的多,在

,已经实现了PDF查看的基本功能

源代码下载在

如果想详细了解poppler的功能,可以去这个网站。

阅读(7631) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~