Инструмент командной строки для пометки PDF для открытия в одностраничном режиме

Короткий вопрос: существует ли инструмент командной строки/оболочки PDF (для osx), который может установить необходимые свойства в PDF, чтобы он первоначально открывался в режиме «Одностраничный просмотр» (подходит для окно)


Подробнее

В настоящее время я создаю PDF-файлы с помощью WkhtmlToPdf и в некоторых случаях объединяю сгенерированные файлы с использованием PDFTK через PHP и некоторые вызовы оболочки на Mac.

Тем не менее, я бы хотел, чтобы эти документы открывались программой чтения PDF-файлов пользователей по умолчанию в режиме «Одностраничный просмотр» / «Подогнать к окну».

Я столкнулся со следующим вопросом, который предполагает, что эта функция была включена в список запросов функций для PDFTk, но я не могу найти ссылка на его когда-либо реализованный. Я также наткнулся на Расширенные инструменты PDF (см. флаг -q [OpenAction]), однако этот инструмент доступен только для Windows, и мне нужно что-то, что поддерживает OSX


person Richard    schedule 28.08.2014    source источник


Ответы (2)


Вы можете сделать это с помощью CPDF:

cpdf in.pdf -set-page-layout SinglePage AND -fit-window -o out.pdf
person johnwhitington    schedule 28.08.2014

Вы можете использовать фрагменты PostScript, используя специальный оператор pdfmark, чтобы вставить соответствующие настройки DOCVIEW с помощью Ghostscript в целевой PDF-файл.

Вот пример, встроенный в текстовый файл my-pdf-docview-pdfmark.ps:

[ /PageMode /UseOutlines  % Display bookmarks upon opening the doc
 %/PageMode /UseThumbs    % Display thumbnails upon opening the doc
 %/PageMode /FullScreen   % Open the document in fullscreen mode
 %/PageMode /None         % Display neither bookmarks nor thumbnails upon opening
  /Page 2                 % Open document with page 2, not page 1!
 %/View [ /XYZ null null null ]
                          % Go to specified page and retain same ... 
                          % ... horizontal/vertical offset+zoom as current page
  /View /Fit              % Fit page to window
 %/View /FitB             % Fit visible part of page to window
 %/View [/FitH 220]       % Fit page width to window; 220 is distance ...
                          % ... of page origin from top of window
                                         /DOCVIEW    pdfmark

 [ {Catalog} <<
              /PageLayout /SinglePage
             %/PageLayout /OneColumn
             %/PageLayout /TwoColumnRight
             %/PageLayout /TwoColumnLeft
             >>                          /PUT        pdfmark

Обратите внимание, что не является ошибкой видеть только открывающую квадратную скобку [, а не закрывающую. [ — это оператор, и он закрывается последним ключевым словом pdfmark.

Некоторые из приведенных выше строк не закомментированы начальным символом %, чтобы показать вам другие альтернативы.

Имейте в виду, что это может не работать для всех пользователей или для всех зрителей. Эти настройки являются лишь подсказками и рекомендациями для зрителей, которые могут их соблюдать или не соблюдать. Кроме того, пользователи могут переопределить конфигурацию своего средства просмотра и указать ему всегда игнорировать эти подсказки и вместо этого открывать все PDF-файлы, как указывает пользователь.

Создав вышеуказанный файл, примените его к PDF:

gs -o output.pdf               \
   -sDEVICE=pdfwrite           \
     my-pdf-docview-pdfmark.ps \
   -f input.pdf
person Kurt Pfeifle    schedule 23.05.2015