2

Я пытаюсь написать функцию bash для преобразования текстового файла в PDF, используя комбинацию a2ps и ps2pdf. Для преобразования exc.cpp у меня есть следующая команда:

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

Но я получаю сообщение об ошибке, указывающее неопределенное имя файла при следующей ошибке:

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

Есть ли способ указать ps2pdf значение для имени файла, чтобы избежать этой ошибки? Или есть более простой способ конвертировать текстовый файл в PDF?

1 ответ1

2

a2ps и ps2pdf не используют один и тот же синтаксис.

Согласно справочным страницам UNIX: ps2pdf (1), основной синтаксис ps2pdf :

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

Это будет работать:

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .