Linux piping (конвертировать -> pdf2ps -> lp) - PullRequest
4 голосов
/ 24 марта 2010

Хорошо, я могу напечатать PDF, выполнив:

pdf2ps file.pdf - | lp -s

Но теперь я хочу использовать convert для объединения нескольких файлов PDF, я могу сделать это с помощью:

convert file1.pdf file2.pdf merged.pdf

, который объединяет file1.pdf и file2.pdf в merged.pdf , цель можно заменить на '-'.

Вопрос

Как я могу конвертировать в pdf2ps, а затем в lp? 1022 *

Ответы [ 4 ]

6 голосов
/ 24 марта 2010

convert file1.pdf file2.pdf - | pdf2ps - - | lp -s должен сделать работу.

Вы отправляете выходные данные команды конвертирования в psf2ps, который, в свою очередь, передает свои выходные данные в lp.

0 голосов
/ 30 марта 2016

Поскольку за вашей командой pdf2ps скрыта команда Ghostscript (которая выполняет преобразование PDF -> PS), вы также можете запустить Ghostscript напрямую для генерации PostScript:

gs -o output.ps      \
   -sDEVICE=ps2write \
    file1.pdf        \
    file2.pdf        \
    file3.pdf ...

Обратите внимание, что в старых выпусках GS не было устройства ps2write (которое генерирует PostScript Level 2), а только pswrite (которое генерирует намного больший PostScript Level 1). Поэтому измените вышеуказанный параметр соответствующим образом, если это необходимо.

Старые версии Ghostscript, возможно, также должны заменить современную аббревиатуру -o - более подробной -dNOPAUSE -dBATCH -sOutputFile=/dev/stdout. Только более новые выпуски GS (все после апреля 2006 года) знают о параметре -o.

Теперь, чтобы напрямую передать вывод PostScript в команду lp, вам нужно будет сделать это:

gs -o -              \
   -sDEVICE=ps2write \
    file1.pdf        \
    file2.pdf        \
    file3.pdf ...    \
| lp -s <other-lp-options>

Это может быть значительно быстрее, чем сначала запустить pdftk (но это также зависит от ваших входных файлов).

0 голосов
/ 24 марта 2010

Вы можете использовать / dev / stdout как файл:

convert file1.pdf file2.pdf /dev/stdout | ...

Я использую gs для слияния PDF, например:

gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=/dev/stdout -f ...
0 голосов
/ 24 марта 2010
convert file1.pdf file2.pdf merged.pdf
pdf2ps merged.pdf - | lp -s
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...