Установите ориентацию страницы в альбомную с помощью ps2pdf

16205
macleojw

Можно ли установить ориентацию страницы в альбомной ориентации с помощью ps2pdf в Windows?

1

2 ответа на вопрос

2
Kurt Pfeifle

ps2pdfдовольно ограниченная полезность. Это всего лишь небольшой командный файл (в Unix / Linux: сценарий оболочки), который создает и вызывает довольно сложную командную строку Ghostscript, а сам использует очень простой синтаксис командной строки.

Если вам нужна вся мощь Ghostscript, вам лучше напрямую вызвать gswin32c.exe.

Хорошо, вот как вращать страницы с Ghostscript. Однако это может не сработать для ваших намерений, потому что вы не можете навязать определенную ориентацию только для отдельной страницы. Он опирается на внутренний алгоритм Ghostscript, который пытается автоматически поворачивать страницы в зависимости от потока текста внутри PDF-файлов:
* -dAutoRotatePages=/None - сохраняет ориентацию каждой страницы;
* -dAutoRotatePages=/All - вращает все страницы (или ни одной) в зависимости от вида «решения большинства»;
* -dAutoRotatePages=/PageByPage- автоматически поворачивает страницы по отдельности.

Добавьте один из них в командную строку Ghostscript, которую вы используете.

Если на странице нет текста (или если установлено автоматическое вращение страницы /None), Ghostscript использует setpagedeviceнастройки. Вы можете передать такие setpagedeviceпараметры в командной строке Ghostscript, используя -cпереключатель следующим образом:
* -c "<</Orientation 3>> setpagedevice"- устанавливает альбомную ориентацию;
* -c "<</Orientation 0>> setpagedevice"- устанавливает портретную ориентацию;
* -c "<</Orientation 2>> setpagedevice"- устанавливает перевернутую ориентацию;
* -c "<</Orientation 1>> setpagedevice"- устанавливает ориентацию морского пейзажа .

Вы требуете использования pstopdfили Ghostscript? Будет ли приемлемым использовать другой инструмент с открытым исходным кодом, работающий в командной строке, например pdftk.exe?

В любом случае, я бы порекомендовал посмотреть pdftkтоже (что также доступно для Windows). Это инструмент командной строки, который может вращать страницы из PDF-файлов и многое другое. Проще в использовании, чем Ghostscript для вашей заявленной цели, и гораздо быстрее. В частности, он может вращать отдельные страницы в документе PDF, оставляя другие страницы нетронутыми. Подробности смотрите здесь: http://www.accesspdf.com/pdftk/ .

0
harrymc

См. Настройка ориентации страницы, где этот довольно запутанный текст говорит, что это невозможно:

По умолчанию Ghostscript определяет ориентацию просмотра страницы на основе доминирующей ориентации текста на странице. Иногда, когда страница имеет текст в нескольких ориентациях или вообще не имеет текста, может быть выбрана неправильная ориентация.

Параметр Acrobat Distiller AutoRotatePages управляет алгоритмом автоматического выбора ориентации. В Ghostscript, кроме входного потока, параметры Distiller могут быть заданы в качестве аргументов командной строки. Например: -dAutoRotatePages = / None или / All или / PageByPage.

Если на странице нет текста или для автоматического поворота страницы установлено значение / Нет, используется значение ориентации из setpagedevice. Допустимые значения: 0 (портрет), 3 (пейзаж), 2 (вверх ногами) и 1 (морской пейзаж). Ориентация может быть установлена ​​из командной строки как -c "<> setpagedevice" с использованием Ghostscript напрямую, но не может быть установлена ​​в ps2pdf . См. Ограничения ниже.

Ghostscript передает значения ориентации из комментариев DSC в драйвер pdfwrite, но там они фактически игнорируются . Похоже, что это соответствует поведению Distiller 5.

Похожие вопросы