Как распечатать файл PostScript в Evince, используя макет брошюры?
У меня есть вывод PostScript с man-страницы, созданной man -t ssh > man_ssh.ps, Он открывается для просмотра в Evince. Я хочу напечатать его на принтере, который поддерживает двустороннюю печать. Итак, я хотел бы напечатать его в режиме "брошюры" - то есть, когда четыре страницы документа печатаются на двухстороннем одном листе, поэтому, когда листы сложены пополам сразу, нумерация страниц документ как в буклете. Как я могу напечатать документ таким образом в Evince?
UPD: есть еще один вопрос, как сделать man -t выходные данные соответствуют макету страницы буклета - то есть более широкие внутренние поля, что делает страницы "левыми" и "правыми"?
2 ответа
Похоже, в настоящее время нет способа печатать страницы в режиме брошюры (буклета) ни в Evince, ни в Xpdf. Есть полу-решение для использования psbook утилита из pstools пакет, который будет переставлять и выводить страницы в файле postscript, чтобы они работали как в режиме буклета. Пожалуйста, обратите внимание -s вариант psbook который контролирует количество оригинальных страниц, которые помещаются в один буклет. Это полезно, когда вы хотите напечатать большое количество страниц, которые не будут сгибаться сразу, а складываться в несколько вложенных буклетов. Например, 120-страничный документ по умолчанию помещается в брошюру на 30 листов, которую трудно сложить. С использованием psbook -s 24 составят 120/24=5 брошюр по 6 листов каждая, которые легко сложить, а затем объединить.
Также обратите внимание, что man -t вывод плохо подготовлен для печати буклета - он имеет номера страниц на "правой", а не на "внешней" стороне, а "левые" и "правые" поля страницы одинаковы вместо "внутреннего" поля больше, чем " external ", а страницы не классифицируются как" left "и" right ". Обсуждение о том, как настроить man -t выход идет здесь.
Я нашел способ настроить CUPS, чтобы он вызывал pdfbook для меня. Процесс сводится к следующему:
На вашем сервере CUPS (например,
http://localhost:631), создайте копию конфигурации для принтера, для которого вы хотите включить печать брошюр. Назовем новый принтер "Принт-буклет".редактировать
/etc/cups/ppd/Print-booklet.ppdкак корень. Добавьте следующую строку, например, перед*cupsFilterзапись:*cupsPreFilter: "application/pdf 0 booklettopdf",(Этот шаг немного грязный, возможно, это можно сделать более чистым способом.) В
/usr/lib/cups/filterсоздать скриптbooklettopdf(как корень):#!/bin/sh for e in "$@"; do echo DEBUG: $0: $e 1>&2; done TMPFILE=$(mktemp) echo DEBUG: $0: $TMPFILE 1>&2 if [ "$6" = "" ]; then cat else cat "$6" fi | pdfbook --scale 0.97 --outfile $TMPFILE && cat $TMPFILE && rm $TMPFILEСделайте скрипт исполняемым:
chmod +x booklettopdf,Распечатайте тестовую страницу.
Теперь, когда вы хотите распечатать в формате буклета, выберите новый принтер "Print-booklet".
cupsPreFilter является расширением CUPS PPD, и кажется, что application/pdf Формат всегда будет появляться в цепочке фильтров (Ubuntu 12.10, может быть, раньше?).
Я бы проголосовал за интеграцию этой функциональности в CUPS.