什么可能导致我的 Ghostscript 失败

什么可能导致我的 Ghostscript 失败

当我运行 ps2pdf 时收到以下错误消息:

norman@host:~$ ps2pdf test.ps test.pdf
While reading gs_dbt_e.ps:
ERROR: /syntaxerror in -file-
Operand stack:
   (gs_cidfm.ps)   1   --nostringval--
Execution stack:
   %interp_exit   --nostringval--   --nostringval--   --nostringval--   %array_continue   --nostringval--   --nostringval--   false   1   %stopped_push   --nostringval--   --nostringval--   --nostringval--
Dictionary stack:
   --dict:928/1123(G)--   --dict:0/20(G)--   --dict:74/200(L)--   --dict:928/1123(G)--   --dict:8/8(G)--   --dict:1/1(G)--
Current allocation mode is global
Current file position is 4623
norman@host:~$

我尝试重新安装 gs 和 gs-esp,但没有任何影响。文件 test.ps、gs_dbt_e.ps 和 gs_cidfm.ps 都经过了系统检查,结果显示一切正常。无论我尝试转换哪个 postscript 文件,“当前文件位置为 4623”都保持不变。主机运行的是 Ubuntu 7.04。

如能得到关于我应该重新安装什么的任何建议,我将非常感激。

答案1

你的 Ubuntu 上用的 Ghostscript 是哪个版本的?你可以用命令检查gs -v。最新发布的是 v8.71。

您的问题可能来自两个方面:

  1. 您的文件“test.ps”包含一个错误(无效的 PostScript 代码)。一些 PS 错误可以通过以下方法解决一些有些查看器和 PS 处理器,有些则不是。
  2. 您的 Ghostscript 版本包含一个错误,该错误是由“test.ps”中包含的某些程序触发的。

如果无法访问您的“test.ps”文件,我就无法判断。

我建议您尝试使用较新版本的 Ghostscript 来处理“test.ps”。不要使用该ps2pdf实用程序。ps2pdf 只是一个小型 shell 脚本,它试图简化 Ghostscript 的 PDF 生成使用,但同时却遗留了很多 Ghostscript 的功能。

最好直接使用gs。像这样:

gs \
  -sDEVICE=pdfwrite \
  -dNOPAUSE \
  -dBATCH \
  -dSAFER \
  -sCompatibilityLevel=1.4 \
  -dPDFSETTINGS=/prepress \
  -sOutputFile=/path/to/test.pdf \
  -c ".setpdfwrite" \
  -f /path/to/test.ps

相关内容