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