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

相关推荐
shandianchengzi1 小时前
【记录】Excel|Excel 打印成 PDF 页数太多怎么办
pdf·excel
一律清风5 小时前
QT-文件创建时间修改器
c++·qt
不知所云,5 小时前
qt cmake自定义资源目录,手动加载资源(图片, qss文件)
开发语言·qt
Death2006 小时前
Qt 6 相比 Qt 5 的主要提升与更新
开发语言·c++·qt·交互·数据可视化
机器视觉知识推荐、就业指导6 小时前
使用Qt实现实时数据动态绘制的折线图示例
开发语言·qt
Geek之路10 小时前
QT系统学习篇(1)
开发语言·qt·学习
bianshaopeng10 小时前
android 原生加载pdf
android·pdf
卢卡斯23310 小时前
在线PDF怎么转换成JPG图片?分享14种转换操作!
pdf
J不A秃V头A17 小时前
iTextPDF中,要实现表格中的内容在数据长度超过边框时自动换行
java·pdf
Geek之路18 小时前
Qt系统学习篇(6)-QMainWindow
数据库·qt·学习