linu 下使用poppler qt5

poppler qt5是poppler的扩展模块,使用qt图形库的开发者对于开发pdf插件来说,这个开源库无疑是非常方便的。本篇介绍如何使用这个库,并且配置开发环境。

1.在poppler官网下载源码,解压到本地目录后切换到这个根目录,打开命令行:

  1. $./configure

  2. $make

  3. $sudo make install

2.编译安装完后,我们用命令行查一下包,并且安装对应的开发库:

  1. $apt-cache search poppler-qt5

  2. $sudo apt-get install libpoppler-qt5-dev
    3.安装完了我们就可以子qt中使用这个库了,如果不确定有没这个包,可以通过一下命令检查一下:

  3. $pkg-config --cflags poppler-qt5

4.在qt 的工程文件中添加一下配置

这时候就能使用poppler qt5的库了,它提供了很方便的接口。写一个例子获取pdf文件的第一张截图:

QPixmap FilePreviewIconProvider::getPlainTextPreviewIcon(QString fileUrl){
QFile file(fileUrl);
if(!file.exists())
return QPixmap(QSize(PIXMAP_WIDTH,PIXMAP_HEIGHT));

if(!file.open(QIODevice::ReadOnly))    return QPixmap(QSize(PIXMAP_WIDTH,PIXMAP_HEIGHT));file.waitForBytesWritten(200);QString text = file.readAll();file.close();QStringList strs = text.split("\n");QImage img(QSize(PIXMAP_WIDTH,PIXMAP_HEIGHT),QImage::Format_ARGB32);QPainter painter(&img);QFont font;font.setPixelSize(12);painter.setFont(font);QPen pen;pen.setColor(QColor(0,0,0));painter.setPen(pen);int counter = 0;for(auto line : strs){    QString str;    QStringList subStrs;    for(int i = 0;iisLocked())){    delete document;    qDebug()page(0); //Document start at page 0QImage img = pdfPage->renderToImage(72,72,0,0,pdfPage->pageSize().width(),pdfPage->pageSize().height());if(img.isNull()){    qDebug()

关键字:qt5

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部