如何使用 python-camelot 获取 table 坐标?
How to get table coordinates using python-camelot?
我正在尝试解析一些 pdf 文件以提取一些关键 information.There 是每个包含这些信息的一部分的 pdf 中的 table 的数量。所以我尝试使用 camelot 来提取 tables 并且我得到了很好的结果但是我想提取每个 table 的标题因为我想为每个 table 做一个映射及其标题.所以我尝试使用 tables[i]._bbox
获取每个 table 的坐标,然后为这些坐标添加一些边距以检测 table 标题的区域(它可以在顶部,在 table 的左侧或底部),如图所示:title of table on the left
title of the table on the top
谁能告诉我如何使用python根据table坐标从pdf中获取包含table标题的红色区域的坐标?
您可以直接创建PDF解析器。例如 Lattice
:
parser = Lattice(**kwargs)
for p in pages:
t = parser.extract_tables(p, suppress_stdout=suppress_stdout,
layout_kwargs=layout_kwargs)
tables.extend(t)
然后您可以访问 parser.layout
,其中包含页面中的所有组件。这些组件都有 bbox (x0, y0, x1, y1)
并且提取的 table 也有一个 bbox
对象。您可以找到最接近 table 的组件并提取其文本和坐标。
如果您不想更改在 camelot 中调用 table 提取的方式,您可以再次解析 PDF:
from camelot import utils
layout, dim = utils.get_page_layout(file_name)
我正在尝试解析一些 pdf 文件以提取一些关键 information.There 是每个包含这些信息的一部分的 pdf 中的 table 的数量。所以我尝试使用 camelot 来提取 tables 并且我得到了很好的结果但是我想提取每个 table 的标题因为我想为每个 table 做一个映射及其标题.所以我尝试使用 tables[i]._bbox
获取每个 table 的坐标,然后为这些坐标添加一些边距以检测 table 标题的区域(它可以在顶部,在 table 的左侧或底部),如图所示:title of table on the left
title of the table on the top
谁能告诉我如何使用python根据table坐标从pdf中获取包含table标题的红色区域的坐标?
您可以直接创建PDF解析器。例如 Lattice
:
parser = Lattice(**kwargs)
for p in pages:
t = parser.extract_tables(p, suppress_stdout=suppress_stdout,
layout_kwargs=layout_kwargs)
tables.extend(t)
然后您可以访问 parser.layout
,其中包含页面中的所有组件。这些组件都有 bbox (x0, y0, x1, y1)
并且提取的 table 也有一个 bbox
对象。您可以找到最接近 table 的组件并提取其文本和坐标。
如果您不想更改在 camelot 中调用 table 提取的方式,您可以再次解析 PDF:
from camelot import utils
layout, dim = utils.get_page_layout(file_name)