从Perl脚本调用ghostscript我收到此错误:
"在/ usr / local / bin中/ GS"意外返回退出值1
在$!
中可以找到这个字符串:"设备的不适当的ioctl" - 我不确定,如果这与gs错误有关。
搜索ghostscript的文档,我找到了这个页面:
http://www.ghostscript.com/doc/current/API.htm#return_codes
Unfortunatley 1 未列在那里。
知道这里出了什么问题吗?
编辑:稍微更改一下代码后,我意识到给gs
的文件是JPEG而不是PDF。这可能是原因,但没有解释 1 的退出代码。
这里引用的是抛出上述错误消息的Perl代码:
my ($stdout, $stderr, $exit) = capture {
my $cmd = '/usr/local/bin/gs';
my @args = (qw( -sDEVICE=pdfwrite -dCompatibilityLevel=1.4 -dPDFSETTINGS=/ebook -dNOPAUSE -dQUIET -dBATCH -sOutputFile=- )) ;
push @args, $tmp_fn;
use IPC::System::Simple qw(system);
system($cmd, @args);
};
die "ERROR compressing pdf: $stderr" if $stderr;