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

相关推荐
嵌入式×边缘AI:打怪升级日志4 分钟前
使用文件 I/O 操作硬件 —— 从 LED 到温湿度传感器
qt·led·温湿度传感器
雒珣2 小时前
Qt实现命令行参数功能示例:QCommandLineParser
开发语言·数据库·qt
诸葛大钢铁2 小时前
PDF无法编辑?移除PDF权限的两种方法
经验分享·pdf·pdf权限限制·pdf无法编辑
Felicia-侧听3 小时前
PDF不能打印怎么办?在线解决PDF限制的两个方法
pdf·浏览器·限制打印·限制复制
敲代码娶不了六花3 小时前
Microsoft Print to PDF | Edge打印导出的pdf文件为0kb | 文件异常
pdf
程序员阿明3 小时前
spring boot3识别PDF图纸
java·spring boot·后端·pdf
史迪仔01124 小时前
[QML] 交互事件深度解析:鼠标、键盘、拖拽
前端·c++·qt
其实秋天的枫4 小时前
【26年最新】英语六级2015-2025年12月历年真题及答案PDF+六级核心词汇
经验分享·pdf
一晌小贪欢4 小时前
PyQt5 开发一个 PDF 批量合并工具
开发语言·qt·pdf
swift192214 小时前
Qt多语言问题 —— 静态成员变量
开发语言·c++·qt