В этом материале
Рамкам цитат PDF нужны зафиксированная система координат и цепочка преобразований, чтобы сохранять положение после поворота, обрезки и масштабирования.
Области цитирования PDF требуют явно заданной системы координат, особенно после поворота, обрезки или рендеринга страницы. Верная цитата подсветит неверное место, если координаты извлечения принять за пиксели изображения или если разные компоненты повторно применят одно и то же преобразование к исходной геометрии.
Определить пространства координат
Справочник Page PyMuPDF объясняет свойства страницы и координаты, связанные с поворотом. Нужно различать координаты документа, видимый прямоугольник страницы и пиксели рендеринга. Браузер добавляет ещё один масштаб или сдвиг. С каждой областью сохраняют исходное пространство. Одного прямоугольника без такого контекста недостаточно для повторения подсветки после смены отображения. Даже правильные числа границ не объясняют, где именно они должны располагаться на экране проверяющего документ пользователя.
Разделить прямоугольники и преобразования
Официальный справочник Rect задаёт смысл прямоугольников, а Matrix описывает преобразования. Исходную область сохраняют вместе с преобразованием вместо необратимой замены координат. Поворот и перенос не являются взаимозаменяемыми операциями. Цепочка, работающая на обычной странице, может ошибаться при изменённом начале видимой области или ориентации, даже когда размеры выглядят правдоподобно. Поэтому порядок операций тоже входит в запись происхождения отображаемой цитаты и проверяется на конкретном примере.
Подготовить повёрнутую страницу
Возьмём страницу с легко узнаваемым предупреждением около угла. Сохраним извлечённую область текста, затем проверим подсветку в исходном, повёрнутом и обрезанном виде. Во всех представлениях должно выделяться то же предупреждение. Нужен пример далеко от центра: центральная область способна скрыть ошибку центра вращения или переноса. Для проверки рядом оставляют другой текст, чтобы случайно расширенная область тоже не проходила приёмку только по наличию нужного слова внутри неё.
| Представление | Какие сведения сохранить |
|---|---|
| Извлечённая область текста | Исходное пространство и идентификатор страницы |
| Повёрнутый вид | Преобразование поворота и ориентацию |
| Обрезанный вид | Видимую область и изменение начала |
| Изображение рендеринга | Масштаб и переход к пикселям |
Разобрать неверную подсветку
Если у всех областей одинаковый сдвиг, проверяют начало обрезки или перенос отображения. Если ошибка растёт с расстоянием от начала, исследуют масштаб. Если области попадают в другой квадрант, проверяют поворот и его возможное повторное применение. При ошибке отдельных цитат сравнивают свойства соответствующих страниц вместо глобальной поправки. Связанный с областью текст сохраняют, чтобы убедиться: геометрия всё ещё относится к нужному фрагменту, а не соседней строке или другой колонке.
Сохранить обратимость геометрии
Запись цитаты содержит редакцию документа, страницу, исходную область, цепочку преобразований и отображаемый результат. Прямой и обратный переход проверяют с объявленным численным допуском, не выдумывая универсальную пиксельную точность. Человек подтверждает выбранный текст, особенно возле таблиц и колонок. Так геометрические дефекты отделяются от поисковых ошибок, а технически верный ответ не сопровождается вводящей в заблуждение подсветкой постороннего подтверждения. Исходные координаты позволяют исправить отображение без повторного извлечения всего документа.
Связанные материалы: GPU-конвейер OCR для PDF: как оценить сервер на 1000 страниц; Локальный RAG-сервер: какие компоненты размещать рядом с GPU.