Наткнулся на ту же проблему и пришел к следующему решению. Я не попал в документацию о том, как создаются PDF-файлы, я просто сравнил два пустых PDF-файла с разными размерами страниц.
Похоже, PDF-файлы имеют всевозможные атрибуты, встроенные между «<<» и «>>». Я обнаружил, что информация о размере страницы находится в виде простого текста и может быть найдена с помощью простого поиска регулярных выражений.
Это может или не может быть верно для всех PDF-файлов, но это работало на все, что я мог найти из разных источников.
Соответствующая часть может выглядеть как любая из них для страницы формата А4:
/MediaBox [0 0 595 842]
/MediaBox[0 0 595 842]
/MediaBox[ 0 0 595.32 841.92]
Это означает [0 0 width height], поэтому вот мое супер хромое, но рабочее решение, чтобы извлечь это:
cat test.pdf | egrep -ao "/MediaBox ?\[ ?[0-9]+ [0-9]+ [0-9]+(\.[0-9]+)? [0-9]+(\.[0-9]+)?\]" | head -1
Просто измените test.pdf на ваш файл.