qt 使用qtpdfium实现读取pdf文件

此处仅作为笔记和配置指导。

要想获取源码可Git hub上下载,这里推荐一个:QtPdfium_Build_Source: 基于Google pdfium 库,可编译和编译好的Qtpdfium 库,用于加载pdf文件进行预览 (gitee.com)

目前小编根据推荐的编译方法,没有成的编译出来一个库文件:先试用qt的msvc 进行qmake编译,之后使用mysys进行make编译,编译一直报错,如果有人知道此问题,请赐教一下,在此小编多谢了。

错误如下:

/bin/sh: -c: line 2: syntax error: unexpected end of file

make: *** [Makefile:62: sub-src-install_subtargets] Error 2

下面小编将介绍如何使用:

1、下载上面推荐的git hub下载源码,下载之后会有一个文件夹:QtPdfium_Build_Source\qtpdfiumBuild下,此文件夹中包含了别人编译成功的静态包。

2、讲文件夹中的bin、include、lib三个文件夹拷贝到自己的工程目录下。

3、在工程中的.pro文件中添加include和库文件的引用。

以下是工程目录:

 导入include文件

INCLUDEPATH += $$PWD/include

导入静态文件

点击项目主文件夹,点击鼠标左键选择添加库,打开只有如下图所示:

 选择外部库,点击打开。

 选择库文件,取消掉linux和Mac的勾选,选择静态库,取消下面所有的勾选点击下一步即可。

4、简单使用

4.1 引入头文件

#include "qpdfium.h"

4.2 代码实现

    QPdfium pdf("C:\\Users\\LANG\\Desktop\\789.pdf");
    qDebug() << pdf.isValid();
    int pagenumber = pdf.pageCount();
    for (int i= 0;i<pagenumber;i++) {
        QPdfiumPage page =  pdf.page(0);
        qDebug() << page.width();
        QImage image = page.image(1); //renders it 3 times bigger

        ui->label->setPixmap(QPixmap::fromImage(image));
        //QImage("C:\\Users\\LANG\\Desktop\\小芳.jpg"))
    }

此例子就是打开桌面文件789.pdf文件,之后将文件转化为QImage,之后可通过Qt的相关函数进行显。

4.3 代码实现

    QPdfium pdf("C:\\Users\\LANG\\Desktop\\789.pdf");
    qDebug() << pdf.isValid();
    int pagenumber = pdf.pageCount();
    QPdfiumPage page =  pdf.page(0);
    QString pageText = page.text();
    ui->label->setText(pageText);

此部分代码是读取pdf文件的文字内容。

猜你喜欢

转载自blog.csdn.net/qq_43812868/article/details/131158613