como evitar o erro undefinedfilename ao enviar a saída do a2ps para ps2pdf

2

Estou tentando escrever uma função bash para converter um arquivo de texto em PDF usando uma combinação de a2ps e ps2pdf. Para converter exc.cpp eu tenho o seguinte comando:

a2ps -M a4 -B -1 -o - exc.cpp | ps2pdf  -sPAPERSIZE=a4 -o exc.pdf -

Mas recebo um erro indicando o nome do arquivo indefinido na seguinte saída de erro:

GPL Ghostscript 9.04 (2011-08-05)
Copyright (C) 2011 Artifex Software, Inc.  All rights reserved.
This software comes with NO WARRANTY: see the file PUBLIC for details.
[exc.cpp (C++): 2 pages on 2 sheets]
[Total: 2 pages on 2 sheets] sent to the standard output
Error: /undefinedfilename in (.setpdfwrite)
Operand stack:

Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push
Dictionary stack:
   --dict:1160/1684(ro)(G)--   --dict:0/20(G)--   --dict:77/200(L)--
Current allocation mode is local
Last OS error: 2
GPL Ghostscript 9.04: Unrecoverable error, exit code 1

Existe alguma maneira de especificar para ps2pdf um valor para o nome do arquivo para evitar esse erro? Ou existe uma maneira mais simples de converter um arquivo de texto em PDF?

    
por Bowie Owens 01.08.2012 / 03:28

1 resposta

2

a2ps e ps2pdf não compartilham a mesma sintaxe.

De acordo com páginas man do UNIX: ps2pdf (1) , o básico sintaxe de ps2pdf é

ps2pdf  [options...] {input.[e]ps|-} [output.pdf|-]

Isso funcionará:

a2ps -M a4 -B -1 -o - exc.cpp | ps2pdf -sPAPERSIZE=a4 - exc.pdf
    
por 01.08.2012 / 03:51

Tags