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

相关推荐
尘中远4 小时前
Qwt 7.0 新特性介绍 — 更现代、更强大的Qt数据可视化库
qt·qwt·科学绘图·曲线图
m0_694845576 小时前
opendataloader-pdf部署教程:构建PDF数据处理系统
服务器·前端·前端框架·pdf·开源
会飞的胖达喵7 小时前
基于qt开发的RedisDesk
开发语言·qt
油炸自行车7 小时前
【Qt】运行 `windeployqt.exe` 打包Qt发布包,遇到警告的解决方法 (Warning: Cannot find any.....)
开发语言·qt·vs·打包·windeployqt·软件部署
asdzx678 小时前
C#:从 URL 下载 PDF 文档到本地
开发语言·pdf·c#
Westward-sun.9 小时前
PyQt5入门实战:从零实现一个表达式输入式计算器(附完整代码)
开发语言·qt
开开心心就好9 小时前
经典塔防游戏移植移动端随时畅玩
java·前端·科技·游戏·edge·django·pdf
其实秋天的枫9 小时前
【考研408】考研计算机408统考历年真题及答案解析PDF电子版(2009-2026年)
经验分享·pdf
Stone_OverLooking9 小时前
vscode 配置Qt qmake项目
ide·vscode·qt
sycmancia10 小时前
Qt——应用程序中的主窗口
开发语言·qt