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