vs+qt5.0 使用poppler-qt5 操作库获取pdf所有文本输出到txt操作

先获取poppler库,编译出lib与dll,配置好依赖环境,获取某页所有文本:

QList<QString> PDFkitEngine::GetText(int nPageNum)

{

QList<QString> lstText;

Poppler::Page* pPage = NULL;

pPage = GetPage(nPageNum);

if (pPage == nullptr)

{

return lstText;

}

QList<Poppler::TextBox* > lstTexts = pPage->textList();

if (lstTexts.count() == 0)

{

return lstText;

}

for (int i = 0;i < lstTexts.count();i++)

{

lstText.append(lstTexts.at(i)->text());

}

return lstText;

}

输出到txt文本:

void PDFkitEngine::outputText(const QString& strfileName, QList<QString>& vecText)

{

QFile file(strfileName);

if (!file.open(QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append))

{

return;

}

QTextStream textStream(&file);

for (auto& _info : vecText)

{

textStream << _info << endl;

}

file.close();

}

测试效果是可以将pdf文本全部读出来,并且成功的输出到文本文件,但是有点瑕疵是,pdf读出来的一行数据内容可能会分成2行或者多行,但是文本获取没有问题

相关推荐
AAA废品回收站陈师傅30 分钟前
19信号和槽_信号和槽的基本概念
qt
爱吃巧克力的程序媛31 分钟前
在 Qt 创建项目时,Qt Quick Application (Compat) 和 Qt Quick Application
开发语言·qt
AAA废品回收站陈师傅1 小时前
18认识Qt坐标系
qt
m0_555762901 小时前
QT 动态布局实现(待完善)
服务器·数据库·qt
genispan2 小时前
QT/C++ 多线程并发下载实践
开发语言·c++·qt
人工智能教学实践2 小时前
【爬虫脚本】实现批量pdf文件下载
pdf
努力搬砖的咸鱼3 小时前
Qt中的数据解析--XML与JSON处理全攻略
xml·开发语言·qt·json
強云3 小时前
界面架构 - MVVM (Qt)
qt·架构
m0_555762904 小时前
多人协同进行qt应用程序开发应该注意什么?
开发语言·qt
划水哥~5 小时前
创建QMainWindow菜单栏
开发语言·c++·qt