使用Ghostscript将PCL转换为PostScript

Bry*_*yon 6 printing solaris postscript solaris-10

所以我想使用Ghostscript将以PCL格式创建的文件转换为PostScript.

这是我的问题的主旨.我只是试图在命令行上运行它,但在最后阶段它必须在lp命令上运行,如lp -d <gs

GPL Ghostscript 9.00(2010-09-14)我将在Solaris 10服务器上运行它,但我相信任何Unix系统都应该类似.

bash-3.00# /usr/local/bin/gs -sDEVICE=pswrite     -dLanguageLevel=1     -dNOPAUSE -dBATCH -dSAFER     -sOutputFile=output.ps cms-form.pcl
GPL Ghostscript  9.00 (2010-09-14)
Copyright (C) 2010 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Error: /undefined in &k2G-210z100u0l6d0e63fa0V
Operand stack:

Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1910   1   3   %oparray_pop   1909   1   3   %oparray_pop   1893   1   3   %oparray_pop   1787   1   3   %oparray_pop   --nostringval--   %errorexec_pop   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--
Dictionary stack:
   --dict:1154/1684(ro)(G)--   --dict:0/20(G)--   --dict:77/200(L)--
Current allocation mode is local
Current file position is 30
GPL Ghostscript  9.00: Unrecoverable error, exit code 1
Run Code Online (Sandbox Code Playgroud)

Kur*_*fle 9

您正在使用Ghostscript(gs),它无法读入和解释PCL.

您应该在GhostPDL中使用解释PCL的组件:调用可执行文件pspcl6.

然后一个命令就好

 pspcl6 ^
   -o out.pdf ^
   -sDEVICE=pdfwrite ^
    in.pcl
Run Code Online (Sandbox Code Playgroud)

应将您的PCL转换为PDF.对于PostScript Level 2使用-sDEVICE=ps2write.

但是,可能很难找到预编译的二进制文件pspcl6.尽管它是Ghostscript系列产品的一部分,但它并不为人所知.您可能需要从源代码构建+编译自己的版本.

更新: