DEV Community на русском
Подписаться
Позиции страниц, метки страниц и напечатанные номера — это разные данные PDF.
Подмножества PDF могут содержать правильное содержимое, но иметь вводящие в заблуждение метки страниц, даже если проверки количества страниц и извлечения текста пройдены. Это происходит потому, что с каждой страницей могут быть связаны три различных значения: ее положение в документе, ее логическая метка (например, «i», «1») и ее печатный номер на самой странице. В конкретном тестовом случае трехстраничный PDF, извлеченный из шестистраничного источника, показал правильное содержимое, но унаследовал логические метки с начала исходного документа вместо сохранения меток выбранных исходных страниц. Исходный источник имел метки «COVER», «i», «1», «2», «A-1», «A-2», а выбранные страницы находились в исходных позициях 3, 4 и 6. Однако загруженный PDF отображал метки «COVER», «i» и «1» для выходных страниц 1, 2 и 3 соответственно, вместо ожидаемых «1», «2» и «A-2». Это несоответствие подчеркивает, что простое извлечение страниц не приводит к автоматическому переназначению или сохранению исходных логических меток или печатных номеров. Был разработан скрипт на Python «audit-labels.py» для проверки соответствия меток подмножества PDF меткам соответствующих исходных страниц на основе политики сохранения. Скрипт подтвердил несоответствие меток в тестовом случае. Крайне важно определить желаемую политику меток для извлеченных подмножеств PDF, будь то сохранение исходных меток или создание новых. Эта проверка фокусируется только на сохранении меток и не проверяет рендеринг, закладки или другие функции PDF.