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

相关推荐
四维碎片10 小时前
QSettings + INI 笔记
笔记·qt·算法
开开心心_Every15 小时前
家长控制电脑软件:定时锁屏管理使用时长
网络协议·tcp/ip·游戏·微信·pdf·excel·语音识别
SilentSlot16 小时前
【QT-QML】1. 快速入门
开发语言·qt·qml
datalover18 小时前
netty实现rpc
qt·网络协议·rpc
离离茶18 小时前
【笔记1-10】Qt bug记录:dockwidget通过raise在最前面显示,toolbar的拓展菜单失效
笔记·qt·bug
SunkingYang19 小时前
QT中如何遍历QList与QStringList容器分别都有什么功能,如何来使用它们?
qt·用法·区别·功能·用途·qlist·qstringlist
开开心心就好20 小时前
免费抽奖工具支持批量导入+自定义主题
linux·运维·服务器·macos·pdf·phpstorm·1024程序员节
ChindongX21 小时前
garbage at the end of the document
qt·json
SNAKEpc1213821 小时前
PyQtGraph应用(一):常用图表图形绘制
python·qt·pyqt
SunkingYang21 小时前
QT编译报错:“error: macro name missing“原因分析与解决方案详解
qt·error·macro·编译报错·name·missing