Размеры Camelot PDF

Я тщательно искал stackru, прежде чем опубликовать это, и не смог найти ничего по размерам страницы камелота. Есть такой вопрос, который предлагает использоватьtable_regionно это не решает проблему OP или мою. К сожалению, я не могу комментировать, чтобы продолжить работу с OP и посмотреть, нашли ли они решение.

Что я пытаюсь сделать:

Я использую Камелот для идентификации таблиц (очевидно). Иногда, когда я знаю область страницы, которая может содержать интересующую таблицу, мне нужно искать только в этой области. Это легко сделать с помощьюcamelot.read_pdf()с table_region kwarg - мне просто нужно предоставить пару координат для поиска Камелота.

Проблема в том, что я получаю эти координаты с помощью PyMuPDF, поэтому они находятся в системе координат PyMuPDF. Я понял, как перевести эти координаты, но мне не хватает одной ключевой информации из Камелота - размеров страницы. Эти значения легко получить в PyMuPDF (класс Page.bound()атрибут), и мне нужен эквивалент Камелота. Я могу дать дополнительное объяснение алгебры здесь, если кто-то думает, что, возможно, есть альтернатива между

Что я пробовал до сих пор:

Прочитал документацию. Из-за этой строки в документации мне интересно, может ли это предоставить способ получения размеров: "При использовании Lattice могут быть случаи, когда более мелкие линии не обнаруживаются. Размер наименьшей обнаруживаемой линии равен рассчитывается путем деления размеров страницы PDF на коэффициент масштабирования, называемыйline_scale. По умолчанию его значение составляет 15 дюймов.

Я открыт для альтернатив, по сути, я либо хочу проверить, содержит ли область страницы таблицу (область, описанная в системе координат PyMuPDF, которая для страницы pdf обычно имеет размеры (612, 792) с исходной точкой вверху левый угол. Источник для камелота находится в левом нижнем углу) или если какие-либо таблицы на странице находятся в заданном регионе, если это имеет смысл.

1 ответ

Попробуйте использовать следующий код, чтобы узнать, дает ли он нужные размеры:

from camelot import utils
layout, dim = utils.get_page_layout(file_name)
Другие вопросы по тегам