当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/393952.html

相关文章:

  • [AIGC] ClickHouse分布式表与本地表的区别及如何查询所有本地表记录
  • 202406 CCF-GESP Python 四级试题及详细答案注释
  • 政安晨:【Keras机器学习示例演绎】(五十二)—— 使用门控残差和变量选择网络进行分类
  • Spring AOP、Spring MVC工作原理、发展演变、常用注解
  • grid布局下的展开/收缩过渡效果【vue/已验证可正常运行】
  • Qt/C++编写地图应用/离线地图下载/路径规划/轨迹回放/海量点/坐标转换
  • 最新版Python安装教程
  • 1.3镜像管理
  • 黑马|最新AI+若依 |初识项目
  • ArrayList综合案例-模拟外卖中的商家系统
  • Postgres JSON字段怎么修改key的名称
  • GStreamer学习5----probe数据探测
  • Open3D 点云的圆柱形邻域搜索
  • python如何设计窗口
  • C语言获取当前时间
  • 【每日一练】python三目运算符的用法
  • CentOS 7.9 停止维护(2024-6-30)后可用在线yum源 —— 筑梦之路
  • Git 常用命令备忘
  • Ubuntu24.04安装Skynet环境
  • 【C++】cout.self()函数
  • VueQuill 富文本编辑器技术文档快速上手
  • 链式二叉树oj题
  • Curator 是一个开源工具为 Elasticsearch 集群设计,用于自动化索引的维护任务。
  • STM32-PWR和WDG看门狗
  • C++循环队列 经典示例
  • 【程序大侠传】大表分库分表切换数据库类型导致pagehelper生成sql语法报错
  • 7、Redis 队列与 Stream
  • FFT剖析
  • git clone报错RPC failed; curl 92 HTTP/2 stream 7 was not closed cleanly
  • Apispec,一个用于生成 OpenAPI(Swagger)规范的 Python 库