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

相关推荐
老歌老听老掉牙8 小时前
PyQt5+Qt Designer实战:可视化设计智能参数配置界面,告别手动布局时代!
python·qt
A.A呐10 小时前
【QT第六章】界面优化
开发语言·qt
sycmancia10 小时前
Qt——布局管理器(一)
前端·qt
AlanW11 小时前
QT 信号槽内部实现原理深度解析
qt
A.A呐11 小时前
【QT第五章】系统相关
开发语言·qt
sycmancia11 小时前
Qt——Qt中的标准对话框
开发语言·qt
SEO-狼术14 小时前
Infragistics now supports .NET 10
pdf·.net
琪伦的工具库16 小时前
批量PDF合并工具使用说明:批量合并与直接合并两种模式,拖拽排序/页面范围/遍历子目录/重名自动处理
数据结构·pdf·排序算法
琪伦的工具库16 小时前
批量PDF多页面合并工具使用说明:多页合并N合1/多文件合并,支持页码范围/矢量模式/DPI与布局边距
pdf
freshman_y1 天前
Qtcreator怎么新建安卓项目?编写一个五子棋游戏APP?
android·qt