Можно ли установить ориентацию страницы в альбомную с помощью ps2pdf в Windows?
источник
Можно ли установить ориентацию страницы в альбомную с помощью ps2pdf в Windows?
См. Настройка ориентации страницы , где этот довольно запутанный текст говорит, что это невозможно:
По умолчанию Ghostscript определяет ориентацию просмотра страницы на основе доминирующей ориентации текста на странице. Иногда, когда страница имеет текст в нескольких ориентациях или вообще не имеет текста, может быть выбрана неправильная ориентация.
Параметр Acrobat Distiller AutoRotatePages управляет алгоритмом автоматического выбора ориентации. На Ghostscript, помимо входного потока, параметры Distiller могут быть заданы в качестве аргументов командной строки. Например: -dAutoRotatePages = / None или / All или / PageByPage.
Если на странице нет текста или для автоматического поворота страницы установлено значение / Нет, используется значение ориентации из setpagedevice. Допустимые значения: 0 (портрет), 3 (пейзаж), 2 (вверх ногами) и 1 (морской пейзаж). Ориентация может быть установлена из командной строки как -c "<> setpagedevice" с использованием Ghostscript напрямую, но не может быть установлена в ps2pdf . См. Ограничения ниже.
Ghostscript передает значения ориентации из комментариев DSC в драйвер pdfwrite, но там они фактически игнорируются . Это похоже на поведение Distiller 5.
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/ .