--filename.pdf에서 이 gs 명령이 실패하는 이유는 무엇입니까?

--filename.pdf에서 이 gs 명령이 실패하는 이유는 무엇입니까?

시스템: 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

위와 동일한 출력.

라스케스. 나는 Ghostscript Editor를 실행하여 GPL을 얻습니다 gs. 명령 은 을 type -a gs제공 합니다 . 내 시스템의 Ghostscript도 마찬가지입니다.gs is /usr/bin/gsdpkg-query -s ghostscript | grep VersionVersion: 9.18~dfsg~0-0ubuntu2gs


gs명령이 실패하는 이유는 무엇 입니까?

답변1

gs는 파일 매개변수에 대해 불평합니다. 예를 들어 다음 ---plaa---plaa.pdf과 같기 때문입니다.긴 옵션하지만.

해결 방법: 파일 이름 매개변수 앞에 추가--옵션더 이상 옵션이 없거나 ./---plaa---plaa.pdf.

답변2

오류 메시지에 따르면 ghostscript우분투 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?

관련 정보