Публикации

Prescribe 2. Язык управления принтерами Kyocera. Тонкая настройка принтера.

Каждый уважающий себя производитель современных лазерных принтеров разрабатывает свои уникальные методы для управления принтером, пытаясь при этом сделать свою технологию эффективной, простой и понятной пользователям

Практически все производители разрабатывают утилиты с интуитивно понятным графическим интерфейсом. Однако, эти вспомогательные программы порой могут быть излишними или наоборот, недостаточно функциональными, если речь идёт о профессиональном использовании принтеров, где требуется надёжность, точность, оперативность и гибкость настроек (например для работы в различных операционных системах). Иногда дополнительные графические нагромождения могут только помешать вашему принтеру выполнить то, чего вы от него хотите получить. Дело в том, что подобные утилиты являются сами по себе не чем иным, как большим скоплением команд, воспринимаемых принтером, но объединённых единой графической оболочкой. Так что, нажимая на кнопки на виртуальной консоли утилиты, вы автоматически задаёте принтеру ряд команд, прописанных под этими кнопками. Очевидно, что наряду с красивым и наглядным дизайном утилиты функционально ограничены.

Большинство прикладного программного обеспечения управляет принтерами посредством кодов и escape-последовательностей, которые сформированы в программу и непосредственно не видны пользователю. Так, почему бы, не начать общаться с принтером на языке его собственных команд напрямую?

И это вполне естественный вопрос, который мог возникнуть у каждого. Действительно порой получается так, что профессионалам, знающим в совершенстве программное обеспечение, гораздо проще набрать знакомую команду (или ряд команд) в командной строке вместо того, чтобы искать курсором мышки нужную графическую кнопку или налаживать ряд настроек перед печатью.

Кроме того, утилиты обычно функционируют только в какой-то определенной программной среде (операционной системе), а как быть, если требуется печать документов из разных операционных систем на одном принтере? Например, до сих пор во многих Российских организациях, наряду с печатью из Windows, используется печать из DOS.

Зная это, некоторые производители стали наряду с графическими утилитами вводить и прямой способ управления принтером, путём ввода команд непосредственно из командной строки, как в старой доброй DOS. Вы сможете произвольно настроить режим печати и добавить особенности, которые не могут быть поддержаны вашим Windows (или не Windows) приложением.

Так сложились своеобразные программные языки управления принтерами. Один из таких языков широко и эффективно используется компанией Kyocera Mita. Этот язык называется Prescribe 2 и состоит из простых для запоминания человеком команд, таких как: SLM (Set Left Margin) - для указания левого края или BOX - для рисования рамок. Команды Prescribe состоят из набора простых символов, которые вы самостоятельно вводите и можете наблюдать на мониторе. Это заметно облегчает настройку печати и поможет вам, в случае необходимости, добавить или удалить тот или иной пункт.

Любой лазерный принтер в обычном режиме получает и воспринимает данные как текст, который будет напечатан. Одна из особенностей Prescribe 2 это то, что этот язык является дополнительным режимом, в котором принтер понимает данные не как текст, а как команды, которые управляют аппаратными и программными ресурсами принтера. Директива Prescribe 2, изменяющая режим печати на режим управления доступна в любое время в течение печати в любой эмуляции.

Строка инициализации, которая переводит принтер из обычного режима печати текста режим в Prescribe 2e выглядит так: !R!

Возврат в режим эмуляции: EXIT;

Благодаря подобному подходу стало возможным, задавая простые команды, печатать в DOS в дуплексном режиме, задавать размер и тип шрифтов, делать раскладки, регулировать края области печати, положение текста и рисовать графические элементы.

Вот пример форматирования текста в DOS с использованием Prescribe 2e:

!R! RES; SLM 1; STM 1; SPD 0.03; FTMD 13; FONT 11;
EXIT;
WELCOME TO WINDFALL NATIONAL PARK
!R! FONT 2; EXIT;
The park entrance is located in the rolling
hills of the Northern Woods, a forested area
abundant in deer, elk, squirrel, rabbit, opossum,
lynx, wolf, and other wildlife. It is the park's
most popular area, featuring excellent trails and
campsites for hiking and backpacking.
!R! BOX 3.4, 0.55; FSET 1s5B; EXIT;
Hikers should avoid this area during hunting season.
!R! FONT 2; EXIT;
Hikers in search of high-altitude adventure
will find Mt.Baker a rewarding...

Обратите внимание, что каждый блок команд начинается с !R! и заканчивается EXIT; Текст самих команд не печатается, вместо этого, они устанавливают края, выбирают три различные шрифта, и рисуют рамку вокруг одной строки текста. Остаток файла состоит из обычного текста:

WELCOME TO WINDFALL NATIONAL PARK

The park entrance is located in the rolling
hills of the Northern Woods, a forested area
abundant in deer, elk, squirrel, rabbit, opossum,
lynx, wolf, and other wildlife. It is the park's
most popular area, featuring excellent trails and
campsites for hiking and backpacking.

Hikers should avoid this area during hunting season.

Hikers in search of high-altitude adventure
will find Mt.Baker a rewarding...

А вот часть мануала по Prescribe 2e, описывающая детальное управление шрифтами:
The SFNT command, primarily used to select and size a scal-able
font as stated previously, also provides the parameter that
specifies a symbol set for the font. It has the following format:
SFNT 'typeface'[, height[, font-number[, symbol-set, compression, angle]]];

Из приведенного примера видно, что команда SFNT устанавливает тип (typeface) и размер масштабируемых шрифтов. Такие параметры как: высота (height), номер шрифта (font-number), набор символов, сжатие, угол наклона (symbol-set, compression, angle) легко задаются пользователем.

Можно разумно подойти к распределению памяти принтера, например, в отличие от установок по умолчанию, отключить буферизацию неиспользуемых интерфейсов и, за счет этого, увеличить эффективную память рабочего интерфейса, не покупая дополнительную память для принтера. Это, естественно, приведет к бесплатному ускорению вывода документов на печать.

Задача печати штрих-кодов на документах значительно облегчается при использовании Prescribe 2, так как штрих-коды аппаратно встроены в лазерных принтерах Kyocera наряду с множеством других шрифтов. Отпадает необходимость приобретения и настройки специального программного обеспечения для печати штрих-кодов, что приходится делать при использовании принтеров, не имеющих языка управления, подобного Prescribe 2.

При наличии у вашего принтера жесткого диска, вы можете организовать электронную сортировку отпечатков, также это позволит ускорить процесс печати и копирования документов (особенно если они большого объема, например с качественной графикой) прямо с винчестера. Копии, сделанные на лазерном принтере более высокого качества и печатаются с большей скоростью, чем на копировальном аппарате той же ценовой категории.

При наличии устройства сортировки отпечатков, используя штрих-коды, можно брошюровать ранее отсортированные документы.

Для специалиста, освоившего Prescribe 2, не составит труда управлять лотками подачи бумаги и режимом выхода отпечатков в DOS и Windows, режимом экономии тонера и качеством печати…

Вот описание команд языка Prescribe 2, управляющих дуплексным режимом печати:

DUPX - устанавливает / отменяет режим DUPleX
Формат: DUPX mode;
Параметры:
Режим: Номер, представляющий один из следующих обязательных режимов:
0=Select симплексный режим
1=Select дуплексный режим, закрепление длинного - края
2=Select дуплексный режим, закрепление короткого - края
Функция: Команда DUPX работает, только когда дуплексная опция установлена на принтер. Она инструктирует принтер выбрать или снять режим печати в дуплексе и устанавливает обязательный режим.
Можно выбирать один из следующих типов обязательных режимов:
DXPG - выбирает сторону DupleX PaGe
Формат: DXPG side;
Параметры
Сторона:
Номер, представляющий сторону следующей страницы:
0=Select следующая сторона (тот же самый как с перевод страницы)
1=Select лицевая сторона
2=Select обратная сторона

Функция
Команда DXPG работает, только когда дуплексная опция установлена на принтер. Она заканчивает печать на текущей странице тем же самым способом как перевод страницы. Однако, в отличие от функции подачи нового листа, она также выбирает сторону бумаги, лицевую сторону или обратную, на который будет производиться печать следующей страницы.
Дополнительный параметр 1 задает печать следующей страницы на лицевой стороне следующего листа, независимо от того, как была напечатана текущая страница - на лицевой или обратной стороне текущего листа.
Дополнительный параметр 2 задает печать следующей страницы на обратной стороне текущего листа, если текущая страница была напечатана на лицевой стороне, или на обратной стороне следующего листа, если текущая страница была напечатана на обратной стороне текущего листа.
Следующий пример показывает дуплексный режим с поворотом листа по короткому краю.
Команда определяет портретную ориентацию страницы, которая приводит к печати текста с обеих сторон страницы.

! R! CMNT Инициализирует последовательность команды Prescribe; RES;
CMNT Вызывает разграничитель страниц и сбрасывает параметры;
DUPX 2;
CMNT Выбирает дуплексный режим, закрепление короткого - края;
SPO P;
CMNT Выбирает вертикальную ориентацию;
STAK 1;
CMNT Выбирают подачу листа обратной стороной;
ВЫХОД;
Этот текст печатается слева-направо-вниз на лицевой стороне страницы
! R! DXPG 0;
CMNT Заканчивает текущую страницу (лицевая сторона бумаги);
ВЫХОД;
Этот текст печатается на обратной стороне страницы
! R! RES; ВЫХОД;

Короче говоря, Prescribe 2 - это инструмент, дающий возможность с максимальной эффективностью использовать аппаратные и программные возможности лазерных принтеров (например, Kyocera) и экономить значительные средства при эксплуатации печатающего оборудования.

С другой стороны, это инструмент для творчества - можно создавать собственные логотипы и картинки, сохраняющиеся в памяти принтера и печатающиеся на заданных формах документов, можно разработать собственную систему ограничения доступа к информации, отправляемой на печать и т.д. и.т.п…

Некоторые возможности языка управления Prescribe 2е, использующегося в принтерах Kyocera описаны ниже.

Основные положения и понятия Prescribe 2
Как уже упоминалось, Prescribe 2 состоит из ряда простых команд, которые в свою очередь описываются простыми символами. Каждая команда при этом может состоять из трёх или четырёх символов (не больше не меньше). В большинстве команд, параметры должны сопровождаться запятыми. Последний параметр всегда сопровождается точкой с запятой. Некоторые команды (RES, например) не имеют никаких параметров. В этом случай, команда должна заканчиваться точкой с запятой.

Основные понятия:
Границы области печати (Edge Limits)
Поля (Margins)
Система Координат (Coordinate systems)
Расположение текста
Символьный интервал (Text positioning/Character spacing)
Пути (Paths)
Логическая страница и физическая страница (Logical page and physical page)
Ориентация страницы и направление текста (Page orientation and direction)

Границы области печати
Принтер не может произвести печать на странице, если печать заходит за её внешние грани. Возможность печати ограничивается расстоянием в 5 мм от краёв бумаги. Причём границы настраиваются автоматически по размерам лотка с бумагой (но не по размеру вручную поданной бумаги).

Границы области печати могут также быть установлены на различные стандартные размеры командой SPSZ (Set Paper SiZe), или эквивалентными командам HP LaserJet.

Поля

Верхнее и левое поле устанавливаются в сантиметрах или дюймах в отношении к верхнему и левому краю страницы. Нижнее и правое поле также могут быть установлены как расстояние от верхнего и левого края страницы, или они могут быть установлены в терминах ширины страницы, высоты страницы или числа строк на странице.

Не поместившиеся на предыдущей странице строки печатаются на следующей странице.

Если используется программное обеспечение обработки текстов, которое устанавливает поля автоматически, не следует установить их командами Prescribe 2.

Система Координат

В Prescribe 2, положение объектов печати на странице описаны в терминах X и Y координатах. Начало системы координаты находится в положении, когда X и Y равны нулю - это положение находится на пересечении верхнего края и левого края. Значение X большее, чем 0 назначает положения направо от начала координат, а значение Y указывают положения ниже начала координат.

Расположение Текста

Принтер всегда отслеживает положение текущего текста на странице.

В любой момент можно узнать, где на листе будет расположен следующий знак или следующее графическое изображение. (Принтер не может распознавать по отдельности текст и графику.) Текст и графика могут быть помещены в произвольные места на странице, путём перемещения курсора командами позицонирования (MAP, например).

Символьный интервал

Каждый символ напечатан в пределах индивидуальной ячейки. Символ находится на строке, называемой опорной линией. Символы типа "Y" частично расположены ниже опорной линии. В некоторых шрифтах, все символьные ячейки имеют тот же самый размер, что число установленных символьных позиций на дюйм. В других шрифтах, размер символьных ячеек пропорционален размеру символов. Текст, напечатанный пропорциональными шрифтами более легок для чтения. Однако чтобы выровнять правый край строк на листе, необходимо использовать программное обеспечение, которое поддерживает пропорциональный символьный интервал.

Пути

Путь - набор прямых и изогнутых долей линии. Пути могут быть открытыми, как в случае линий, или закрытыми, как в случае прямоугольников, кругов, или любой другой фигуры замкнутой формой.

Части фигур могут быть связан друг с другом, или они могут быть разъединены.

Также, путь может содержать многократно закрытые внутренние пути, образующие несколько областей, и они могут пересекаться произвольными способами.

Пути могут использоваться, чтобы рисовать линии и кривые или определять границы заполненных областей, включая структуру символа.

Логическая Страница и Физическая Страница

Логическая страница определяет пределы координат, в пределах которых текст и графика могут быть расположены. Есть два типа логических страниц. Первый (стандартный) тип - это когда поле логической страницы лежит по максимальному размеру контура всей страницы. В этом случае расположение любой объекта печати, выходящего за границы физической страницы будет откорректировано так, чтобы он попал в поле печати. А второй - это когда поле логической страницы занимает только часть максимально возможных границ страницы или наоборот, превышает их. В этом случае объект печати будет позиционирован по указанным в задании на печать координатам (и даже может вообще не попасть в область реальной печати).

Ориентация Страницы и Направление Текста

Термин ориентация страницы относится к направлению, в котором текст располагается на странице. В вертикальном направлении, это называется портретом (portrait), а горизонтальном направлении - ландшафтом (landscape).

Направление печати - это термин, относящийся к ориентации системы координат логической страницы отношением к текущей ориентации страницы.

Изменение ориентации страницы автоматически регулирует поля так, чтобы они остались на том же самом расстоянии от четырех граней бумаги. Если принтер не может выполнить установку полей (например, если бы левое поле было бы справа от правого поля), то он автоматически устанавливает поля по краям листа бумаги. Масштабируемые шрифты (Scalable) автоматически позиционируются, чтобы соответствовать ориентации страницы. Растровые (Bitmap) шрифты не могут автоматически поворачиваться. Необходимо повторно выбрать растровые шрифты после изменения ориентации страницы, чтобы они соответствовали изменениям в ориентации…

Из приведенных выше некоторых возможностей Prescribe 2 для лазерных принтеров Kyocera очевидно следует, что каждый уважающий себя системный администратор просто обязан овладеть программированием на Prescribe 2. Такой специалист может принести ощутимую пользу организации, в которой работает.

Экономия средств за счет максимально эффективного использования ресурсов принтера, обеспечение надежной и качественной печати документов, безопасность и уникальный дизайн документов - вот что такое лазерный принтер плюс язык управления Prescribe 2!

Можно было бы популярно перевести все описание языка управления принтерами Prescribe 2, но автор этой статьи полагает, что пользователи и специалисты, обслуживающие офисную технику, владеют минимальным запасом технических терминов на английском языке. А большего и не требуется для самостоятельного изучения Prescribe 2 и написания на нем прикладных программ.


Александр Пономарев Pikachu@starlink.ru
Андрей Рыбаков info@kyomag.ru
2008-02-25