c 语言提取 PDF文件,使用Poppler从PDF中提取文本(C)

您应该能够将选择矩形设置为页面的pageSize / MediaBox并获取所有文本.

我说应该因为在你开始想知道为什么你对poppler_page_get_text的输出感到惊讶之前,你应该知道如何在页面上布置文本.所有图形都使用以修复后符号表示的程序在页面上排列.要呈现页面,此程序在空白页面上执行.

程序中的操作可以包括改变颜色,位置,当前变换矩阵,绘制线,贝塞尔曲线等.文本由一系列文本运算符布局,这些运算符总是被BT(开始文本)和ET(结束文本)括起来.文本放置在页面上的方式和位置由生成PDF的软件自行决定.例如,对于打印驱动程序,代码响应GDI调用DrawString并将其转换为文本绘制操作.

如果运气好的话,页面上的文字将按照合理的字体使用顺序排列,但许多生成PDF的程序并不那么友好.例如,Psroff喜欢首先放置所有纯文本,然后是斜体文本,然后是粗体文本.可能会或可能不会将单词放在阅读顺序中.字体可以重新编码,以便’a’映射到'{‘或其他.然后你可能有一些连字符,其中多个字符被单个字形替换 – 最常见的是ae,oe,fi,fl和ffl.

有了所有这些,提取文本的过程显然是非平凡的,所以如果您发现文本提取质量差,请不要感到惊讶.

我曾经在Acrobat 1.0和2.0中使用文本提取工具 – 这是一个真正的挑战.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值