Особенности вывода информации на лазерный и чернильный принтеры

Вывод информации на указанные принтеры следует осуществлять на уровне MS-DOS. Для этого фирмой Хьюлетт - Паккард созданы командные языки PCL, осуществляющие вывод информации как на лазерный, так и на чернильный принтеры.

В состав этого языка входят следующие операторы:

– управления принтером,

– описания страницы,

– изменения координат текущей позиции вывода,

– выбора шрифта,

– управления загрузкой шрифтов,

– определение новых загружаемых шрифтов,

– графические,

– установки модели печати,

– определение макросов,

– отладки вывода.

Инициализация принтера относится к группе управляющих операторов иосуществляется следующим образом

Esc E

что в шестнадцатиричной системе счисления соответствует набору чисел: 1В 45, а в десятичной - 27 69.

Для ввода этих кодов в буфер принтера необходимо открыть файл вывода LPT1.

fp = fopen (“lpt1”, “wb”);

и записать инструкцию

fprint (fp, “%c%c”, “27, 69”);

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

Стандартными функциями библиотеки языка Си можно вывести на принтер необходимую текстовую информацию. Например, оператор printf (“%c”, 65) осуществит вывод на печать литеры А, так как ее ASCII - код равен 65. Оператор printf (“%c”, n) осуществит вывод на печать значения байтовой переменной n. Аналогично просто осуществляется вывод и графических документов. При этом целесообразно выполнить следующие команды.

Из операторов управления принтером кроме инициализации следует установить альбомную или книжную ориентацию листа печати, используя следующую команду

Esc &1 #z (книжная ориентация),

что на языке Си будет

fprintf (fp, “%c%c%c%c%c, 27, 38, 108, 48, 79)

Устанавливается формат печати. Так для формата А4 будет команда

fprintf (fp, “%c%c%c%c%c%c”, 27, 38, 108, 50, 54, 65)

Далее уже устанавливается режим графики. Вначале назначается разрешающая способность растрового рисунка по команде

Esc *t ### R

При этом вместо значков ### ставится одно из чисел: 75; 100; 150 или 300 пунктов на дюйм. Задаваясь числом 75 запишем соответствующий оператор

fprintf (fp, “%c%c%c%d%c”, 27, 42, 116, 75, 82)

Далее устанавливается прямое (без поворота) положение рисунка по команде

ESC *r 3F

fprintf (fp, “%c%c%c%c%c”, 27, 42, 114, 51, 70)

его левая граница

ESC *r 1A

fprintf (fp, “%c%c%c%c%c”, 27, 42, 114, 49, 65)

При этом левая граница устанавливается в текущую позицию.

После этого вводится команда уплотнения данных ESC *b #M, где вместо # вводится число 0 - без уплотнения, 1 - RLE - уплотнение, 2 - TIFF - уплотнение, 3 - Delta Row. Полагая данные не уплотненными запишем оператор fprintf (fp, “%c%c%c%c%c”, 27, 42, 98, 48, 77)

Теперь по команде

ESC *b #w [данные]

можно выводить графический материал. Например, задаваясь n = 0xFF оператор fprintf (fp, “%c%c%c%d%c%c”, 27, 42, 98, 1, 87, n) выведет черту длиной в 8 пунктов в соответствии с установленным разрешением.

В данном операторе четвертый элемент данных обозначает длину данных в байтах. В приведенном примере он равен единице. В таком виде графические данные оператор всегда будет выводить с новой строки.

Для того, чтобы данные выводились и дальше в одной строке следует отдельно выделить оператор

fprintf (fp, “%c%c%c%d%c”, 27, 42, 98, x, 87);

в котором х обозначает длину в байтах выводимых в последующем данных. Например при n = 0xFF и x = 10 конструкция

while (i<=10) {fprintf (fp, “%c”, n); i = i+1}

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

В заключении отметим, что чернильные принтеры выпускаются и фирмой Epson (Япония). Командный язык этих принтеров не PCL, а соответствующий языку иголочных принтеров. Его контрольные коды (команды) приведены в руководстве пользователя принтером. Здесь приведены лишь некоторые особенности.

Вывод битовой маски осуществляется командой Esc *, после которой следуют и соответствующие данные.

Кроме этой команды в данном языке имеются следующие команды инициализации графики ESC (G, Esc, выбора цвета Esc r и установки микроволнового режима работы (Micro Weave) Esc (i).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: