Ответ 1
convert file1.pdf file2.pdf - | pdf2ps - - | lp -s
должен выполнять эту работу.
Вы отправляете вывод команды convert в psf2ps, который, в свою очередь, подает свой вывод на lp.
Хорошо, поэтому я могу распечатать PDF файл:
pdf2ps file.pdf - | lp -s
Но теперь я хочу использовать convert
для объединения нескольких файлов PDF, я могу сделать это с помощью
convert file1.pdf file2.pdf merged.pdf
который объединяет файлы file1.pdf и file2.pdf в merged.pdf, цель может быть заменена на "-".
Вопрос
Как я мог бы преобразовать текст в pdf2ps
, а затем в lp
, хотя?
convert file1.pdf file2.pdf - | pdf2ps - - | lp -s
должен выполнять эту работу.
Вы отправляете вывод команды convert в psf2ps, который, в свою очередь, подает свой вывод на lp.
Вы можете использовать /dev/stdout как файл:
convert file1.pdf file2.pdf /dev/stdout | ...
Я использую gs для слияния PDF файлов, например:
gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=/dev/stdout -f ...
Спрятанный за вашей командой pdf2ps
выполняется команда Ghostscript (которая выполняет преобразование PDF → PS), вы также можете запустить Ghostscript непосредственно для генерации PostScript:
gs -o output.ps \
-sDEVICE=ps2write \
file1.pdf \
file2.pdf \
file3.pdf ...
Обратите внимание, что более старые версии GS не включают устройство ps2write
(которое генерирует уровень PostScript 2), но только pswrite
(который генерирует гораздо более высокий уровень PostScript 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
сначала (но это также зависит от ваших входных файлов).
convert file1.pdf file2.pdf merged.pdf
pdf2ps merged.pdf - | lp -s