Por que esse comando gs falha em --filename.pdf?

0

Sistema: Ubuntu 16.04 64 bit. Código de aqui

gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=newfile.pdf badfile.pdf

Saídas:

Usage: gs ... -- file.ps arg1 ... argn

A saída esperada: um novo arquivo .pdf.

2ª versão

gs -dSAFER -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=newfile.ps badfile.pdf

Mesma saída como acima.

Larsks . Eu recebo o editor GPL Ghostscript executando gs . Comando type -a gsgs is /usr/bin/gs . Comando dpkg-query -s ghostscript | grep VersionVersion: 9.18~dfsg~0-0ubuntu2 . Então, gs é ghostscript no meu sistema.

Por que o comando gs falha?

    
por Léo Léopold Hertz 준영 03.05.2016 / 16:12

2 respostas

3

gs está reclamando sobre argumentos de arquivos como ---plaa---plaa.pdf porque eles parecem opções longas mas não são.

Solução alternativa: preceda o argumento do nome do arquivo com uma -- opção para sinalizar que existem não há mais opções ou use um nome de caminho como ./---plaa---plaa.pdf .

    
por 03.05.2016 / 21:52
1

Com base na mensagem de erro, você não está realmente executando ghostscript . No Ubuntu 16.04:

# cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04 LTS"

Com o ghostscript 9.18:

# dpkg-query -s ghostscript | grep Version
Version: 9.18~dfsg~0-0ubuntu2

Se eu executar seu comando de exemplo, recebo um erro padrão do ghostscript mensagem, que se parece com isso:

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

Eu suspeito que há algo mais chamado gs no seu $PATH . Algumas coisas para verificar:

  • Se você acabou de executar gs , você se encontra no prompt 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>
    
  • Será que type -a gs show gs is /usr/bin/gs ou outra coisa?

  • A execução explícita de /usr/bin/gs em vez de apenas gs resulta em comportamento diferente?
por 03.05.2016 / 18:47

Tags