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

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

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

 Page size: 624 x 312 pts 

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

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

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 на свой файл.

  • Пользовательское название в файлах PDF при использовании ps2pdf
  • Извлечение PDF-содержимого и метаданных закладки
  • Как установить пароль для файлов PDF?
  • Как сохранить четкость при преобразовании jpg в pdf-файл?
  • Как можно сохранить текст OCRed при преобразовании файлов djvu и pdf?
  • Восстановить удаленный отсканированный PDF без размонтирования
  • конвертировать большую часть текстовых файлов в pdf с именованием на основе файла заголовка
  • Как я «unbook» pdf
  • Стандартный рабочий процесс для оцифровки журналов или книг с использованием OCR при минимизации размера файла?
  • Преобразование папки изображений в многостраничный файл pdf с помощью инструментов командной строки?
  • Можно извлечь название и pagenum каждой страницы в pdf-файле
  • Interesting Posts

    добавление текста в заголовок во всех корневых окнах

    Каков наилучший способ дистрибутива / оболочки-агностик для установки переменных среды?

    Поддерживает ли Linux системную память с высоким уровнем воды?

    i3wm, работающий в гостевой системе Arch Linux (VirtualBox), останавливает автоматическое изменение размера

    Xorg -configure не работает с драйверами nouveau

    RAID5 Произвольно исчезли без изменений HW или SW

    Заблокировать пакет для удаления в APT

    Один алиас влияет на другой псевдоним?

    Копирование или перенаправление текста в качестве входа в UART, необходимо обеспечить более медленную пропускную способность

    Добавить строку в начало второй строки, используя unix

    Как я могу удалить все файлы в папку, к которой не было доступа за определенное время?

    Как размонтировать ранее chroot'd файловую систему?

    RPMDB сломался после обновления yum в Fedora 19?

    Исправить ошибку ввода / вывода в каталоге

    systemd – перезагрузка без остановки

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