![为什么这个 gs 命令在 --filename.pdf 上失败?](https://linux22.com/image/7318/%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%99%E4%B8%AA%20gs%20%E5%91%BD%E4%BB%A4%E5%9C%A8%20--filename.pdf%20%E4%B8%8A%E5%A4%B1%E8%B4%A5%EF%BC%9F.png)
系统:Ubuntu 16.04 64位。代码来自这里
gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=newfile.pdf badfile.pdf
输出:
用法:gs ... -- file.ps arg1 ... argn
预期输出:一个新的 .pdf 文件。
第二版
gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=newfile.ps badfile.pdf
与上面相同的输出。
拉斯克斯。我通过运行获得 GPL Ghostscript 编辑器gs
。命令type -a gs
给出gs is /usr/bin/gs
.命令dpkg-query -s ghostscript | grep Version
给出Version: 9.18~dfsg~0-0ubuntu2
.gs
我的系统中的 Ghostscript也是如此。
为什么gs
命令失败?
答案1
答案2
根据错误消息,您实际上并未运行ghostscript
.在 ubuntu 16.04 上:
# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04 LTS"
使用 Ghostscript 9.18:
# dpkg-query -s ghostscript | grep Version
Version: 9.18~dfsg~0-0ubuntu2
如果我运行您的示例命令,我会收到一条标准的 Ghostscript 错误消息,如下所示:
GPL Ghostscript 9.18 (2015-10-05)
Copyright (C) 2015 Artifex Software, Inc. All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
Error: /undefinedfilename in (badfile.pdf)
Operand stack:
Execution stack:
%interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push
Dictionary stack:
--dict:1196/1684(ro)(G)-- --dict:0/20(G)-- --dict:78/200(L)--
Current allocation mode is local
Last OS error: No such file or directory
GPL Ghostscript 9.18: Unrecoverable error, exit code 1
我怀疑gs
你的$PATH
.需要检查的一些事项:
如果您只是
gs
自行运行,您会发现自己出现GS>
提示吗?# gs GPL Ghostscript 9.18 (2015-10-05) Copyright (C) 2015 Artifex Software, Inc. All rights reserved. This software comes with NO WARRANTY: see the file PUBLIC for details. GS>
是
type -a gs
显示gs is /usr/bin/gs
还是其他什么?- 显式运行
/usr/bin/gs
而不只是gs
导致不同的行为吗?