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

相关推荐
机器视觉知识推荐、就业指导3 小时前
Qt6 + QCustomPlot 实时曲线 Demo ,适合串口与上位机项目
qt
YY&DS5 小时前
Qt 嵌入 CEF 在 Linux 下必须设置 `QT_XCB_GL_INTEGRATION=xcb_egl才能加载网页
linux·开发语言·qt
秋田君8 小时前
Qt 5.12.8 下载与安装教程(附网盘资源)
开发语言·qt
郝学胜-神的一滴10 小时前
Qt 高级开发 019:从零定制登录窗口按钮、Logo 样式与交互悬浮效果
开发语言·c++·qt·程序人生·交互·用户界面
YY&DS10 小时前
Qt Designer 自定义控件已提升后,如何修改提升类
开发语言·qt
爱吃生蚝的于勒12 小时前
QT开发第二章——信号和槽
c语言·开发语言·c++·qt
宏笋14 小时前
qss/css 样式中margin和padding的作用和区别
css·qt
雪的季节14 小时前
qt实现线程方式有哪些
qt
读书札记20221 天前
Qt界面卡死问题探讨及解决方法
qt
bug和崩溃我都要1 天前
Qt 封装 libmpv 全功能视频播放器开发指南
开发语言·qt·音视频