使用Ghostscript将PDF转换为PDF / A时出错

时间:2017-09-04 13:15:12

标签: ghostscript

我试过这个命令:

gs -dPDFA -dBATCH -dNOPAUSE -sProcessColorModel=DeviceRGB -sDEVICE=pdfwrite -sPDFACompatibilityPolicy=1 -sOutputFile=/tmp/test/pdfa/pdftopdfa.pdf /tmp/test/pdftopdfa.pdf 

但我收到了这个错误:

  

Artifex Ghostscript 9.14:找不到初始化文件gs_init.ps。

我尝试了另一个命令:

gs -dPDFA -dBATCH -dNOPAUSE -dUseCIEColor -sProcessColorModel=DeviceCMYK -sDEVICE=pdfwrite -sPDFACompatibilityPolicy=1 -sOutputFile=/tmp/test/pdfa/23238input.xml_2.pdf 23238input.xml_2.pdf

但我收到了这个错误:

  

Artifex Ghostscript 9.14(2014-03-26)版权所有(C)2014 Artifex   Software,Inc。保留所有权利。该软件附带NO   保证:有关详细信息,请参阅PUBLIC文件。找不到(或打开)   初始化文件(gs_std_e.ps)不可恢复的错误:未定义   .uninstallpagedevice操作数堆栈:gs_std_e.ps gs_std_e.ps   gs_std_e.ps

1 个答案:

答案 0 :(得分:1)

首先,你使用旧版本的Ghostscript,你应该升级。

其次,无论你从哪里得到它,它的非标准因为它有PostScript资源存储在磁盘上,默认是将它们作为ROM文件系统构建到二进制文件中。

最后,磁盘上的资源似乎丢失或损坏。您可以搜索它们,它们通常位于/ usr / local / bin / ghostpdl / Resource之类的某个位置,然后使用-I开关将该路径呈现给Ghostscript,以便它知道在哪里查看。

但是因为它是一个旧版本,所以我建议你改为当前版本(9.21)。如果你得到一个软件包,并且无法正常工作,那么你应该向软件包维护者抱怨。如果您对此感到满意,您可以简单地克隆Ghostscript Git存储库并自行构建它,如果您有一个可用的C编译器(gcc),这并不难。最后,预先构建的Linux二进制文件here 可能在您的系统上运行,具体取决于您的设置。

您的命令行上有几个注释;您尚未指定PDFA_def.ps文件,为了创建有效的PDF / A文件,您必须执行此操作,请参阅此documentation,但请注意,这是当前的9.21文档。如果您不提供该文件(从提供的型号中正确修改),那么您将无法创建符合标准的PDF / A文件。

除非你有充分的理由,否则不要使用-dUseCIEColor,如果你不知道它做了什么(而且我猜你没有)那么你就没有充分的理由。如果您在不理解的情况下使用它,则只会对性能产生负面影响,并可能导致色彩再现不佳。