在发布此消息之前,我已经对stackoverflow进行了广泛搜索,并且无法在camelot页面尺寸上找到任何内容。有一个this问题,建议使用table_region
,但不能解决OP的问题或我的问题。不幸的是,我无法评论跟进OP,看看他们是否找到了解决方案。
我正在尝试做的是:
我正在使用Camelot来标识表(显然)。有时,当我知道页面中可能包含感兴趣表的区域时,我只想在该区域中搜索。使用camelot.read_pdf()
的table_region
kwarg可以轻松完成此操作-我只需要提供一对坐标供Camelot搜索即可。
问题是,我使用PyMuPDF获取这些坐标,因此它们位于PyMuPDF的坐标系中。我已经找到了如何转换这些坐标的方法,但是我缺少Camelot提供的一项关键信息-页面的尺寸。这些值很容易在PyMuPDF中获得(Page class .bound()
属性),我需要等效的Camelot。如果有人认为代数之间可能存在其他选择,我可以在这里提供对代数的进一步解释。
到目前为止我尝试过的是:
我读了documentation。由于文档中有这条线,我想知道这是否可以提供一种获取尺寸的方法:“在某些情况下,使用Lattice时可能无法检测到较小的线。计算出检测到的最小线的大小通过使用称为line_scale
的缩放因子来划分PDF页面的尺寸。默认情况下,其值为15“
我可以选择其他方法,基本上我想检查页面的某个区域是否包含表格(在PyMuPDF坐标系中描述的区域,对于pdf页面,其尺寸通常为(612,792),其原点在顶部迷宫的原点位于左下角),或者页面上的任何表格位于给定区域中(如果有的话)。
最佳答案
尝试以下代码,看看它是否可以为您提供所需的尺寸:
from camelot import utils
layout, dim = utils.get_page_layout(file_name)
关于python - Camelot PDF尺寸,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59163978/