Как запросить размер страницы 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 на свой файл.

  • Реализация инструмента String -> PDF Stamp
  • Как преобразовать этот файл chm в pdf?
  • замена sed не будет работать (регулярное выражение)
  • как pdfjoin пейзаж и портретные изображения JPEG в один файл PDF?
  • Выход PDF с правильными пробелами в примерах кода
  • сделать настройки «печать в файл» постоянными в Iceape
  • проблема с текстом, добавленным в pdf в Xournal после экспорта в pdf
  • Сохранение аннотаций и метаданных Okular PDF в самом PDF-файле
  • Открытие PDF-файлов в существующем окне
  • Является ли Evince безопасным способом просмотра вредоносного PDF-файла?
  • Преобразование PDF-файла в epub
  • Наложение текста в PDF через командную строку
  • Linux и Unix - лучшая ОС в мире.