2013-01-24 51 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。

相关问题