Странная проблема с ghostscript и pdf файлами - PullRequest
3 голосов
/ 09 февраля 2010

Я использую ghostscript для создания PDF-файла из файла postscript. Мой PS-файл не содержит инструкций по ориентации, поэтому, когда я хочу создать PDF-файл с альбомной ориентацией, я использую ghostscript для поворота страницы. Проблема в том, что ghostscript поворачивает только первую страницу, а когда мой pdf-файл занимает более 1 страницы, остальные не поворачиваются правильно. Вот команда, которую я использую:

cat $psinput | gs -sPAPERSIZE=a4 -sDEVICE=pdfwrite -sOuputFile="/tmp/pdf" \
        -dAutoRotatePages="/None" -c "<< /Orientation 3 >> setpagedevice" \
        90 rotate 0 -595 translate -dNOPAUSE -dEPSCrop  -f - -c -quit

У кого-нибудь есть идеи, как это исправить?

Ответы [ 2 ]

3 голосов
/ 06 июня 2010

Не видя вашего фактического $psinput, трудно дать определенный совет. Ваш $ psinput, поступающий через stdin в Ghostscript, может содержать несколько файлов PS ... Вы пробовали играть с одним из этих параметров

  • -dOrient1=true
  • -dOrient1=false

в вашей командной строке? Кроме того, мне кажется, что вы должны поместить команду 90 rotate 0 -595 translate в кавычки, идущие с -c, а затем расположить вход ( -f - ) в самый конец обработки вот так:

  • -c "<</Orientation 3>> setpagedevice 90 rotate 0 -595 translate" -f - -c quit

Также вы пытались использовать

  • -c ".setpdfwrite <<//AutoRotatePages /PageByPage>> setdistillerparams" или
  • -c ".setpdfwrite <<//AutoRotatePages /All>> setdistillerparams" или
  • -c ".setpdfwrite <<//AutoRotatePages /None>> setdistillerparams"

в командной строке (с вашим исходным вращающимся кодом или без него)?

0 голосов
/ 27 июля 2010

Если вы не должны использовать ghostscript для ротации, вы можете вместо этого использовать pdftk или impose .

...