Размеры 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)