按区域坐标表格提取表格

2024-04-19 23:01:54 发布

您现在位置:Python中文网/ 问答频道 /正文

我们可以通过指定PDF文档的坐标从中提取表。对于windows用户,为了获得坐标,必须将PDF文件上传到表格网页,并导出包含坐标的脚本,然后将坐标输入到代码中。对于Mac用户,您只需使用预览应用程序和裁剪检查器。我只是想知道是否有第三方程序或插件提供给Windows用户?我认为这在以下情况下会很方便:

  1. 当你没有互联网接入时。
  2. 我认为预览应用程序将更准确,因为我经历了从表格网页产生的不准确的坐标。

如果有人能指点我在哪里能找到这样的东西,我将不胜感激。非常感谢。


Tags: 文件代码用户文档程序脚本插件应用程序
3条回答

表格需要以PDF格式指定区域,定义为1/72英寸。如果使用Acrobat Reader DC,则可以使用测量工具将其读数乘以72。

tabla需要将区域指定为顶部左侧底部右侧距离。要获得它们,可以测量从页面的顶部到表开头的距离,依此类推。

enter image description here

我也有同样的问题,代码似乎忽略了区域标注。通过在命令行中包含“guess=False”修复了此问题。就像这样(注意我使用的是1.2.1版):

df = tabula.read_pdf(file_folder + file_name, 
                     guess=False, pages=1, stream=True , encoding="utf-8", 
                     area = (200.8125,64.6425,352.2825,496.1025), 
                     columns = (65.3,196.86,294.96,351.81,388.21,429.77))

表格可以理解“点”形式的坐标数据。

在windows中,您可以使用Adobe Acrobat DC和Acrobat Reader DC测量区域坐标

如果你有AdobeAcrobat DC- “工具”>;>;“编辑PDF”>;>;“选择您的区域并按Enter键”>;>;“将单位更改为点”

Top               100       pt = A
Left              50        pt = B
Cropped page size 370 x 225 pt = C x D

如果您有Adobe Acrobat DC或Acrobat Reader DC- 编辑>;>;首选项>;>;单位>;>;将页面单位更改为点>;>;确定>;>; 工具>;>;测量

Top           = A = 100
Left          = B = 50
Areas  Width  = C = 370
Areas  Length = D = 225

你必须做这个计算

area=[A,B,A+D,B+C]
area=[100,50,100+225,50+370]

在代码中

df=read_pdf(folder,area=[[100,50,325,420]] ,output_format="xlsx")

相关问题 更多 >