2015-10-16 92 views
0

我有一个将多个Postscript文件同时转换为PDF的应用程序。 为此,我致电ps2pdf input.ps output.pdf。 有时,当我有很多(假设大于4)文件需要转换时,我只能得到一个pdf文件,其他转换失败。 问题是,失败的转换不会导致除0之外的ps2pdf的退出码。 我的Ghostscript版本对于Windows x64是9.16。在多个实例中运行时出现Ghostscript错误

我在bugzilla中找不到任何可以解释该行为的错误。

是否有比检查output.pdf是否存在更好的解决方案,如果不存在则重试?

回答

0

那么,我们通常不希望人们运行多个Ghostscript实例。但是......

很可能你与临时文件有某种冲突,你可以通过指定一个临时文件位置(显然每个实例不同)来解决问题。

鉴于标准版本的Ghostscript使用单个DLL,它也有可能(尽管IMO不太可能,因为上下文不应该共享),您有共享该DLL引起的问题。你可以设置几个目录并单独使用每个目录来查看是否有帮助。

对于复杂的设置,使用脚本可能也不是世界上最聪明的想法。直接调用Ghostscript,你会得到更多的控制权。

当您的转换失败时,您会收到什么消息?你使用的是什么版本的Ghostscript?在什么操作系统上?

+0

我的Ghostscript版本是9.16,它是一个Windows 2012 R2服务器x64。返回码是0,我没有看到任何可以解释行为的控制台输出。我会试着直接调用ghostscript,看看它是否有帮助。无论如何:有趣的事实是,我们以前的版本(我不记得确切的版本,但它是8的东西?),并没有造成这样的问题。 –

+0

它可能没有创建尽可能多的临时文件......如果这是问题,那么直接运行GS不会有任何区别,但它会使您更容易设置命令行参数,包括给出每个实例都有自己的临时目录。无论如何,我建议你这样做。 – KenS