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行或者多行,但是文本获取没有问题

相关推荐
水煎包V:YEDIYYDS88813 分钟前
QT QML 实现的旋钮按钮,类似收音机音量旋钮,可指示方向和角度
qt·qml·旋钮组件
DechinPhy14 分钟前
使用Python免费合并PDF文件
开发语言·数据库·python·mysql·pdf
龚建波19 分钟前
Qt程序设计:QPromise/QFuture多线程任务管理
qt·qfuturewatcher·qpromise·qfuture
追烽少年x20 分钟前
Qt面试题合集(三)
qt
FirstFrost --sy1 小时前
Qt控件美化:LineEdit与CheckBox实战
开发语言·qt
Larry_Yanan9 小时前
Qt多进程(一)进程间通信概括
开发语言·c++·qt·学习
小灰灰搞电子14 小时前
Qt 开发环境选择Qt Creator、Visual Studio还是 VS Code?
开发语言·qt·visual studio
开开心心就好15 小时前
免费卸载工具,可清理残留批量管理启动项
linux·运维·服务器·windows·随机森林·pdf·1024程序员节
淼淼76316 小时前
Qt调度 程序
开发语言·c++·windows·qt