此处仅作为笔记和配置指导。
要想获取源码可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文件的文字内容。