2013-01-24 78 views
0

我使用類似這樣的命令:如何將多個不同大小的PostScript文件轉換爲單個PDF?

gswin32c.exe -dNOPAUSE -dBATCH -q -dSAFER -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile="path/output.pdf" <PSfiles> 

這讓我表示爲每個頁面文件PS一個PDF文檔。但是,頁面大小翻譯不好。原始的PS文件都是不同的大小和每個產生的PDF頁面被截斷到相同的大小,這看起來像風景A4。

當我用完全相同的命令轉換單個PS文件時,頁面大小被保留。所以看起來好像因爲所有的PS文件都被髮送到相同的PDF文件,它們都必須具有相同的頁面大小,並且我丟失了內容。無論如何要保留文件大小,同時仍然使用單個命令?

更新:我最初使用GS 8.63,但我下載了9.06,並有相同的問題。 此外,我已經縮小了問題的範圍。似乎有一個特定的PS文件(稱爲problemFile.ps)導致問題,因爲只要我排除problemFile.ps,我就可以成功運行該命令。如果它是命令行中包含的最後一個文件,它只會導致問題。我無法發佈整個文件,但有什麼潛在的問題我應該看看?

Update2:好的我說錯了有一個特定的問題文件。看起來,命令行上包含的最後一個文件的頁面大小爲所有結果頁面設置了最大頁面大小。

+0

您使用的是哪個版本的Ghostscript? –

回答

1

只要每個PostScript文件(或者實際上每個頁面)實際上請求不同的介質大小,那麼生成的PDF文件將遵循這些請求。我知道這至少用於工作,我已經測試過它。

但也有在命令行中有些事情,你可能要重新考慮:

1)在調查與GS問題,使用-q,這將阻止Ghostscript的告訴你潛在的有用的東西。

2)不要使用-dPDFSETTINGS,除非您已閱讀相關文檔並瞭解每個參數設置的含義。

3)您可能要關閉AutoRotatePages,或至少將其設置爲/ PageByPage

我的猜測是,您的PostScript文件不請求媒體的大小,因此使用默認的媒體。沒有看到一個例子,我當然無法分辨。

注意你也不會說你使用的是什麼版本的Ghostscript。

相關問題