2010-02-09 72 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