我试图解析一些PDF文档(1.7格式)来提取数字数据。
我正在使用python矿工软件包,它工作得很好。
对于大多数文档,表中的一行将转换为单个文本字符串。但有时两个相邻的行会将内容交织成一个字符串。例如:
The visual appearnce within the PDf is as follows
LZX DEC-18 13.95 .00 0 0 0 0 0 0 0
Totals for LZX: 0 3 481 0 0 0 0 0
But the extracted text looks like this, appearing in column rather than row order
---
LZX
Totals for LZX:
DEC-18
13.95
.00
0
0
0
3,481
0
0
0
0
0
0
0
0
0
0我看不到PDF矿工脚本中的任何选项会改变这一点。因此,我假设这与最初创建PDF文档的方式有关?
这使得解析非常困难,因此知道何时会发生这种情况是非常方便的。
发布于 2014-10-08 00:08:31
我最初对PDF渲染的假设是,它将类似于打印机执行的光栅牡蛎。也就是说,文本将首先在一行内从左到右创建,然后从一行向下移动。
但是要意识到这是不正确的,PDF生成程序设置的渲染模式更像X绘图仪所能产生的结果,强调的是物体的接近度而不是扫描方向。
我的结论是PDF扫描本质上是困难的,因为对于页面中的文本排序没有任何假设。在可能的情况下,解决方案是返回到生成PDF的源文档。如果它的结构是表格式的,那么很可能很容易从这种格式中检索所有数据。
https://stackoverflow.com/questions/26160792
复制相似问题