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

相关推荐
无敌最俊朗@2 小时前
解决 QML 中使用 Qt Charts 崩溃的三个关键步骤
开发语言·qt
有时间要学习3 小时前
Qt——控件
qt
Quz3 小时前
QML TableView:基于SQLite实现增删改查
数据库·qt·sqlite
new出一个对象5 小时前
vue实现打印PDF文档
javascript·vue.js·pdf
花菜会噎住6 小时前
Chainlit+LlamaIndex 多模态 RAG 开发实战7:从系统架构到功能落地,搞定 PDF/PPT/ 图片全类型文件处理
pdf·大模型·rag·llamaindex
MC皮蛋侠客6 小时前
Ubuntu禁用系统手势,阻止应用程序异常最小化
linux·运维·qt·ubuntu
sunshinehine7 小时前
vue2实现pdf预览兼容低版本浏览器
pdf
feiyangqingyun7 小时前
Qt和ffmpeg结合打造gb28181推流/支持udp和tcp被动以及tcp主动三种方式
qt·udp·ffmpeg
歪歪1007 小时前
如何在Qt中使用VS的调试功能
运维·开发语言·网络·qt·网络协议·visual studio