使用Ghostscript将PDF转换为支持打印的格式时出现“错误:/ filter--中的/ ioerror”

时间:2011-02-03 03:23:03

标签: pdf ghostscript printers hp-ux

我将在HP-UX系统中使用Ghostscript转换PDF文件,以便我可以在LX和LQ打印机中打印这些文件。对于LX打印机 - 例如,我使用此命令:

gs -q -dBATCH -dSAFER -r120x216 -dNOPAUSE -sDEVICE=eps9high -sPAPERSIZE=letter -sOutputFile=TEST.TEMP.pdf.LXPRINT TEST.pdf

每个PDF文件都可以正常工作。但每次我转换包含图像的PDF文件时,都会给出如下错误:

Error: /ioerror in --filter--
Operand stack:
   --dict:6/15(L)--   false   --dict:9/17(L)--   --nostringval--   --nostringval--
Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1878   1   3   %oparray_pop   1877   1   3   %oparray_pop   1861   1   3   %oparray_pop   --nostringval--   --nostringval--   2   1   2   --nostringval--   %for_pos_int_continue   --nostringval--   --nostringval--   --nostringval--   --nostringval--   %array_continue   --nostringval--   false   1   %stopped_push   --nostringval--   %loop_continue   --nostringval--   3187   --nostringval--   --nostringval--   --nostringval--   --nostringval--   --nostringval--   --nostringval--   %array_continue   1749   6   13   %oparray_pop
Dictionary stack:
   --dict:1151/1684(ro)(G)--   --dict:1/20(G)--   --dict:75/200(L)--   --dict:75/200(L)--   --dict:108/127(ro)(G)--   --dict:288/300(ro)(G)--   --dict:22/25(L)--   --dict:6/8(L)--   --dict:21/40(L)--   --dict:1/1(ro)(G)--   --dict:1/1(ro)(G)--   --dict:1/1(ro)(G)--   --dict:7/15(L)--
Current allocation mode is local
Last OS error: 2
GNU Ghostscript 0.08.71: Unrecoverable error, exit code 1

如您所见,我使用的是Ghostscript 8.71.1,我的系统是HP-UX Itanium v​​11.23。

我已经安装了所有依赖项--jpeg,libXrender和所有 - 但没有任何改变。

3 个答案:

答案 0 :(得分:0)

你从哪里获得二进制文件?也许打包器没有启用图像渲染(或手动禁用它),也许他编译了一个静态链接的二进制文件?

您是否有可能从源头自行编译?

如果你自己编译,你可能需要编辑一些makefile以启用图像渲染。注意makefile中的* .dev关键字。有些人默认注释掉了。

编辑 您的PDF格式是否特别?如果不同操作系统平台(例如Linux或Windows)上的Ghostscript 8.71可以处理您的PDF,您是否进行了交叉测试?

答案 1 :(得分:0)

关闭机会你仍然有问题。 我有完全相同的问题,最终将其追踪到一个非常小的/ tmp挂载

使用

进行测试
mount -o bind /path/to/space/ /tmp
导致上述问题消失,并且在进一步发挥之后发现了

export TMPDIR="/path/to/space/";

也有效

我正在与Debian Lenny和ImageMagick 6.3.7合作 我也考虑了

How do I change temp path of imagemagick?

但它对我不起作用,我不想重新编译。

答案 2 :(得分:0)

在我的情况下,这是tmp文件夹和imagemagic在那里创建的文件的问题。 imagic- {some hash characters}我添加" - 限制存储器512"限制内存消耗并删除临时文件。这解决了这个问题。