Подготовка файлов к печати
Так как мы — пользователи командной строки, наибольший интерес для нас представляет печать текста, хотя при этом сохраняется возможность печатать данные других форматов.
pr — преобразование текстовых файлов для печати
Мы уже касались программы pr в предыдущей главе. А теперь исследуем все богатство ее параметров, используемых при печати. В краткой исторической справке развития технологий печати рассказывалось, что символьные принтеры использовали мноноширинные шрифты, что обеспечивало фиксированное число символов в строке и строк на странице. Программа pr используется для выравнивания текста в соответствии с заданным размером страницы, с учетом дополнительных заголовков и полей на странице. Наиболее часто используемые параметры перечислены в табл. 22.1.
Таблица 22.1. Наиболее часто используемые параметры команды pr
Параметр
|
Описание
|
+первая
[:последняя]
|
Вывести диапазон страниц, начиная со страницы с номером первая и заканчивая страницей с номером последняя (если указано)
|
-колонок
|
Вывести содержимое страницы в указанное число колонок
|
-a
|
По умолчанию, когда задан вывод в несколько колонок, колонки организованы по вертикали. Параметр -a (across — поперек) позволяет организовать колонки по горизонтали
|
-d
|
Вывести с двойным интервалом
|
-D формат
|
Формат вывода даты в заголовке страницы. Описание строки формата можно найти в странице справочного руководства (man) для команды date
|
-f
|
Использовать символ перевода формата вместо возврата каретки для отделения страниц друг от друга
|
-h заголовок
|
Текст для вывода в центре заголовка страницы вместо имени файла
|
-l длина
|
Длина страницы. По умолчанию длина устанавливается равной 66 строкам (соответствует формату US-letter с плотностью печати 6 строк на дюйм)
|
-n
|
Нумеровать строки
|
-o отступ
|
Создать левое поле, выполнив отступ указанного размера (в символах)
|
-w ширина
|
Ширина страницы в символах. По умолчанию ширина устанавливается равной 72 символам
|
Программа pr часто используется в конвейерах в роли фильтра. Следующий пример создает список содержимого каталога /usr/bin и с помощью pr выводит его в три колонки с разбивкой на страницы:
[me@linuxbox ~]$ ls /usr/bin | pr -3 -w 65 | head
2012-02-18 14:00 Page 1
[ apturl bsd-write
411toppm ar bsh
a2p arecord btcflash
a2ps arecordmidi bug-buddy
a2ps-lpr-wrapper ark buildhash
Отправка задания печати на принтер
Пакет программ печати CUPS поддерживает два метода печати, исторически используемых в Unix-подобных системах. Первый метод, с названием Berkeley, или LPD (используется в BSD-версиях Unix), основан на использовании программы lpr; второй метод, с названием SysV (используется в версиях Unix System V), основан на использовании программы lp. Обе программы работают примерно одинаково. Выбор той или иной зависит от личных предпочтений.
lpr — печать файлов (в стиле Berkeley)
Программа lpr применяется для отправки файлов на принтер. Она также может использоваться в конвейерах, так как способна принимать исходные данные со стандартного ввода. Например, напечатать предыдущий результат форматирования содержимого каталога в несколько колонок можно было бы так:
[me@linuxbox ~]$ ls /usr/bin | pr -3 | lpr
В этом случае отчет будет выведен на принтер, используемый системой по умолчанию. Для вывода файла на другой принтер используйте параметр -P:
lpr -P имя_принтера
где аргумент имя_принтера — имя требуемого принтера. Получить список принтеров, известных системе, поможет команда:
[me@linuxbox ~]$ lpstat -a
ПРИМЕЧАНИЕ
Многие дистрибутивы Linux позволяют определять фиктивные «принтеры», которые выводят результат в файл в формате PDF, а не на физический принтер. Это очень удобно для экспериментов с командами печати. Запустите свою программу настройки принтеров и посмотрите, поддерживает ли она такую возможность. Чтобы включить ее, в некоторых дистрибутивах может понадобиться установить дополнительные пакеты (такие, как cups-pdf).
В табл. 22.2 перечислены некоторые часто используемые параметры команды lpr.
Таблица 22.2. Наиболее часто используемые параметры команды lpr
Параметр
|
Описание
|
-# число
|
Число копий
|
-p
|
Вывести на каждой странице заголовок с датой, временем, именем задания и номером страницы. Этот так называемый параметр структурной печати («pretty print») можно использовать для печати текстовых файлов
|
Читать дальше