2010-02-09 73 views
3

上午使用ghostscript从postscript文件创建PDF文件。我的PS文件没有定向说明,所以当我想创建横向pdf文件时,我使用ghostscript来旋转页面。问题是,ghostscript只旋转第一页,当我的pdf文件超过1页时,其他文件不能正确旋转。这里是我使用的命令:奇怪的问题,与ghostscript和pdf文件

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 

有没有人有一个想法如何解决这个问题?

+1

@kofucii:'-dAutoRotatePages =“/ None”'可以不加引号:'-dAutoRotatePages =/None'。 '-sOuputFile =/tmp/pdf'也一样。但不知道这是否会导致你悲伤或无害。 - **然而,'-c'-构造绝对是错误地放置和错误引用的!**它应该在'-f -'输入数据语句之前的最后,就像这样:'.. 。-dNOPAUSE -dEPSCrop -c“<> setpagedevice 90 rotate 0 -595 translate”-f - -c quit' – 2010-08-12 22:29:30

回答

3

没有看到你的实际$psinput很难给出明确的建议。您$ psinput,通过标准输入来Ghostscript的,可以包含多个PS文件...你有没有试着用这些选项

  • -dOrient1=true
  • -dOrient1=false

在命令行一个打?此外,它看起来像你对我应该把你的90旋转0 -595翻译报价与-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

如果您不能使用ghostscript进行轮换,您可以改为使用pdftkimpose