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

相关推荐
Pyeako5 小时前
PyQt5 + PaddleOCR实战:打造桌面级实时文字识别工具
开发语言·人工智能·python·qt·paddleocr·pyqt5
FL16238631299 小时前
基于yolov26+pyqt5的混凝土墙面缺陷检测系统python源码+pytorch模型+评估指标曲线+精美GUI界面
python·qt·yolo
森G12 小时前
39、拓展知识---------事件系统
c++·qt
不会写DN13 小时前
Go中如何跨语言实现传输? - GRPC
开发语言·qt·golang
森G14 小时前
35、事件传递模式---------事件系统
c++·qt
怎么没有名字注册了啊15 小时前
崩溃解决_Qt子窗口关闭按钮后打开崩溃
开发语言·qt
笑鸿的学习笔记17 小时前
Qt与CMake笔记之option、宏传递与Qt Creator项目设置
开发语言·笔记·qt
森G18 小时前
40、对话框---------事件系统
c++·qt
Ofm1z1Q9R18 小时前
python-langchain框架(3-5-pdf文件load_and_split()加载 )
python·langchain·pdf
开开心心_Every19 小时前
实用PDF擦除隐藏信息工具,空白处理需留意
运维·服务器·网络·pdf·电脑·excel·依赖倒置原则