Как запросить размер страницы pdf из командной строки?

Для сценариев мне нужно получить размер страницы PDF-файла (в мм).

pdfinfo просто печатает его в 'pts', например:

 Page size: 624 x 312 pts 

Что я должен использовать?

Или какая единица – «оч» в любом случае – в случае, если я хочу их преобразовать …

  • конвертировать большую часть текстовых файлов в pdf с именованием на основе файла заголовка
  • Как я могу grep в файлах PDF?
  • Как шифровать (защищать паролем) PDF без шифрования метаданных?
  • Как объединить файл PDF так, чтобы каждый файл начинался с имени файла?
  • Почему эта команда gs не работает на --filename.pdf?
  • TROFF для преобразования pdf или docx?
  • Есть ли инструмент или способ для увеличения существующих файлов PostScript или PDF для печати - не только для отображения
  • Выход PDF с правильными пробелами в примерах кода
  • 3 Solutions collect form web for “Как запросить размер страницы pdf из командной строки?”

    Единица «pts», используемая pdfinfo обозначает точку PostScript. Точка PostScript определяется с точки зрения дюйма и разрешением 72 точки на дюйм:

    В конце 1980-х – 1990-х годах традиционная точка была вытеснена точкой публикации рабочего стола (также называемой точкой PostScript), которая была определена как 72 точки на дюйм ( 1 балл = 1/72 дюйма = 25,4 / 72 мм = 0,352 ¯7 мм [ 0,3528 мм ]).

    В руководстве к gv содержится список общих форматов бумаги, указанных в точках PostScript.

    Не самый простой способ, но с учетом imagemagick и units вы также можете использовать

     $ identify -verbose some.pdf | grep "Print size" Print size: 8.26389x11.6944 

    чтобы найти размер страницы в дюймах (это может дать несколько результатов, если PDF использует разные размеры), а затем преобразовать числа следующим образом:

     $ units -t '8.26389 inch' 'mm' 209.90281 

    Это означает, что 8,26 дюйма – 209,9 мм (для этого я использовал A4 PDF).

    Выйдя по одной и той же проблеме, вы пришли к следующему решению. Я не попал в документацию о том, как создаются 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 на свой файл.

    Interesting Posts
    Linux и Unix - лучшая ОС в мире.