2017-09-04 105 views
-1

我試過這個命令:錯誤將PDF轉換爲PDF/A

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

但我得到這個錯誤:

Artifex Ghostscript 9.14: Can't find initialization file 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) Copyright (C) 2014 Artifex Software, Inc. All rights reserved. This software comes with NO WARRANTY: see the file PUBLIC for details. Can't find (or open) initialization file (gs_std_e.ps) Unrecoverable error: undefined in .uninstallpagedevice Operand stack: gs_std_e.ps gs_std_e.ps gs_std_e.ps

回答

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,除非你有一個很好的理由,如果你不知道它做什麼(我猜你不這樣做),那麼你沒有一個很好的理由。如果您在不理解的情況下使用它,只會對性能產生不利影響,並可能導致色彩還原不佳。