python - 卡米洛特 PDF 尺寸

标签 python python-camelot pymupdf

在发布此内容之前,我已经广泛搜索了 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/

相关文章:

python - 无法在 alpine docker 镜像上安装 PyMuPDF

python - 将 PDF 文件转换为多页图像

python - 如何检查响应是否是 Flask 中的文件?

python - 通过比较两个不同形状的 Numpy 数组的值来计算掩码

python - 在没有错误消息的情况下使用 camelot 提取表数据的问题

使用 Camelot 进行 Python PDF 解析并提取表格标题

python - 如何使用python中的fitz模块更改pdf中的突出显示颜色

python - 基于数组的子集填充列

c++ - 任何可以使用c库的高级语言?

python - 使用 Camelot 查找 PDF 尺寸