Лазерный принтер – это растровое страничное устройство, поэтому, в простейшем случае, поток данных, готовых к печати, должен содержать лишь перечисление координат всех точек, подлежащих закрашиванию. Но даже если исходный документ представлен в формате bitmap, далеко не всегда его можно использовать «как есть», и перенести изображение на бумагу «точка в точку» едва ли получится. Его, как правило и как минимум, придется пересчитать в другое разрешение (масштабировать). Струйные и матричные являются обычно принтерами построчной печати.
Драйверы принтеров в Windows являются частью операционной системы, а не приложения поэтому в системе можно найти драйвер практически к любой модели принтера. Поддержка принтера одной модели в операционных системах Windows реализуется по-разному отсюда необходимость устанавливать драйвер принтера для данной операционной системы. Процесс установки драйвера в этих операционных системах практически одинаков. В окне “Панель управления” (Control Panel) есть пиктограмма “Принтеры” (Printers). С помощью этой пиктограммы устанавливаются все локальные, сетевые и даже физически не подключенные к компьютеру принтеры. При установке принтера, который поддерживает несколько языков описания страниц, следует установить драйвер для каждого поддерживаемого языка (PostScript, PCL). Для печати документа необходимо выбирать соответствующий драйвер. Если компьютер подключен к локальной сети, то необходимо установить драйверы всех принтеров, к которым можно получить доступ через сеть. С помощью пиктограммы «Принтеры» в окне «Панель управления» можно просмотреть ресурсы сети и установить соответствующие драйверы принтеров.
В системах Windows можно разрешить совместное использование принтера в локальной сети. В диалоге используя окно свойств принтера, которое состоит из нескольких вкладок, можно изменять определенные группы параметров драйвера принтера. Количество вкладок и находящиеся в них параметры зависят от типа установленного принтера, однако практически для всех моделей принтеров существует одинаковый набор параметров. Чаще всего это размер и ориентация бумаги, выбор лотка с бумагой и количество копий. Многие драйверы принтеров позволяют управлять печатью графики и шрифтов:
Типовой процесс печати документа на лазерном принтере наиболее сложный и состоит из следующих этапов:
Приблизительно такая последовательность действий выполняется большинством лазерных принтеров. Массовые модели принтеров интенсивно используют в процессе печати компьютер, а более дорогие и совершенные модели большую часть операций выполняют с помощью собственного встроенного аппаратного и программного обеспечения.
При подключении компьютера к принтеру задание печати отправляется на принтер (через параллельный, последовательный порт, или встроенный в принтер сетевой адаптер, или интерфейс USB). Поток данных может быть двунаправленным, т.е. и принтер может посылать компьютеру сигналы, которые информируют его о приостановке или продолжении передачи потока данных. В принтере обычно установлен объем памяти намного меньший, чем объем задания печати. При переполнении буфера принтер сообщает компьютеру о приостановке передачи данных. Как только страница будет напечатана, принтер продолжает считывать данные из буфера и информирует компьютер о возобновлении передачи. Этот процесс называется синхронизацией (handshaking). Для нее используется специальный протокол. Для хранения данных задания печати используется память принтера, а если ее недостаточно, то необходимо добавить дополнительные модули. Некоторые модели принтеров оснащаются встроенным жестким диском для хранения данных печати и коллекций шрифтов. Процесс временного хранения заданий перед их печатью называется спулингом печати (print spooling).
Современные принтеры обладают дополнительными коммуникационными возможностями, позволяя пользователю с помощью программного обеспечения осведомляться о состоянии принтера, конфигурировать параметры, которые ранее можно было установить только с помощью пульта управления на принтере. Для такого типа связи принтера и компьютера, например, необходим порт с расширенными возможностями ( ЕСР, ЕРР).
После загрузки данных в память принтера его встроенный микропроцессор начинает обработку данных (начинается процесс интерпретации кода). Часть принтера выполняющая обработку данных называется контроллером или интерпретатором (форматером) и включает программную поддержку языка (или языков) описания страниц. Вначале интерпретатор из поступивших данных выделяет управляющие команды и содержимое документа. Процессор принтера считывает код и выполняет команды, являющиеся частью процесса форматирования, а затем выполняет другие инструкции по конфигурации принтера (например, выбор лотка с бумагой, односторонняя или двухстороння печать и т.д.).
При выполнении форматирования в процесса интерпретации данных выполняются команды, указывающие, как содержимое документа должно располагаться на странице. В низших моделях принтеров основную часть процесса выполняет компьютер, который отправляет принтеру специальные инструкции, описывающие точное расположение каждого символа на странице. Старшие и более дорогостоящие модели принтеров выполняют форматирование самостоятельно и делают это намного быстрее, чем массовые принтеры. Точность отображения зависит от драйвера принтера. Принтер формирует документ путем интерпретации набора команд, которые определяют размер бумаги, расположение полей страницы, интервал между строками. Затем контроллер принтера помещает текст и графику в этот макет страницы и выполняет такие сложные процедуры, как выравнивание текста.
Процесс форматирования включает и процедуру преобразование контуров шрифтов из векторной графики в растр. При появлении команды, задающей использование шрифта определенного типа и размера, контроллер обращается к контуру шрифта и генерирует растровое изображение набора символов необходимого размера. Эти растровые изображения символов помещаются во временный кэш шрифтов, откуда извлекаются по мере необходимости для непосредственного использования в том или ином месте документа. В результате процесса форматирования с помощью детального набора команд определяется точное расположение каждого графического изображения и символа на странице документа.
В конце процесса интерпретации данных наступает этап растеризации. Контроллер выполняет команды для создания массива точек, которые затем будут перенесены на бумагу. Созданный массив точек помещается в буфер страницы и находится там до момента переноса на бумагу. Эффективность процесса растеризации зависит от количества установленной в принтере памяти и используемого разрешения в текущем задании печати. При монохромной печати каждая точка - это один бит памяти и разрешения 300 dpi необходимо больше 1 Мбайт памяти. При разрешении 600 dpi необходимый объем памяти равен уже 4 Мбайт.
В ряде моделей принтеров если памяти недостаточно используются буферы полосы. Принтеры разделяют страницу на несколько горизонтальных полос. Контроллер выполняет растеризацию данных одной полосы, отправляет ее на печать, очищает буфер и приступает к обработке следующей полосы. Таким образом, страница по частям попадает на фоточувствительный барабан или другое печатающее устройство, но такой тип буферизации больше подвержен ошибкам, и при печати возможно несовпадение изображения на напечатанной странице. В некоторых драйверах принтеров предусмотрена возможность управления видом графики, в котором она будет отправляться на принтер (векторный или растровый). Векторная графика обеспечивает лучшее быстродействие по сравнению с растровой. При появлении проблем с векторной графикой можно использовать растровую, установив в окне свойств принтера соответствующий переключатель.
В настоящее время существует два основных языка описания страниц - PCL и PostScript, ставших фактическим стандартом в компьютерной индустрии. Принтеры, не поддерживающие язык описания страниц, используют последовательность escape-кодов (escape code sequence) для управления свойствами принтера в комбинации со стандартным текстом ASCII для передачи содержимого документа. Это обеспечивается драйвером принтера, который распознает передаваемые символы - escape-коды или язык описания страниц. Неважно, в какой программе был создан документ и в каком формате файла он был сохранен, но данные для печати должны быть преобразованы в поток данных языка описания страниц или поток ASCII-текста с escape-кодами. После растеризации изображение страницы сохраняется в памяти, а затем передается печатающему устройству, которое физически выполняет процесс печати.
Скорость работы принтера и его производительность во многом зависят от блока обработки изображения (форматера данных), который предназначен для обработки цифрового изображения, принятого в его оперативную память. Обработка принятого изображения может быть очень сложной, например, часто используются сложные алгоритмы обработки, обеспечивающие повышенное качество печати за счет сглаживания зубчатых и неровных краев при печати шрифтов, слежения за обеспечением высокой четкости печати векторных элементов; выполняется интеллектуальный анализ типа линий, автоматически различаются фотографии, текст и рисунки в пределах одной страницы; в зависимости от характера задания используются разные алгоритмы печати; осуществляется управление размером точки для обеспечения разрешения класса 2400 dpi из реальных 600 dpi путем пошагового (1-16 стадий) горизонтального контроля размера каждой точки и т. д.
Плата форматера по своему составу аналогична системной плате персонального компьютера. На ней находится достаточно мощный быстродействующий универсальный 32-х или 64-х разрядный микропроцессор с тактовой частотой 200-800 МГц. Микросхема используемая на форматере обычно является заказной, в качестве ее ядра используется достаточно мощный процессор, например, аналогичный Intel 960, Pentium, или Power PC 405CR и др., кроме того в микросхеме имеется ряд специализированных портов ввода/вывода.
Этот микропроцессор и элементы, обеспечивающих его работу, являются основой платы форматера. На плате обычно размещают микросхемы DRAM, ПЗУ с «прошитой» в ней управляющей программой и программой обработки страниц, принятых для печати. В памяти форматера хранятся и различные используемые при печати шрифты, стандартные формы, которые необходимо часто печатать. Как правило, форматере мощного принтера имеется возможность расширять объем памяти и поэтому на плате обычно имеются специальные разъемы, в которые и устанавливаются модули расширенной памяти. Результаты «интеллектуальной обработки» в форматере изображения страницы (точечный растр) должны быть преобразованы в аналоговый вид, пригодный для управления включением луча лазера. Это преобразование выполняет цифро-аналоговый преобразователь (ЦАП) блока обработки изображения, который осуществляет управление лазером и преобразует цифровой сигнал изображения в одноканальный аналоговый сигнал управления яркостью свечения лазера на этапе формирования «скрытого изображения».
Современный лазерный принтер немыслим без возможности сохранения его настроек, таких как размер бумаги, выбранный шрифт, качество печати и ряда других. Поэтому на плате форматера, как правило, должна быть микросхема энергонезависимой памяти, которая и предназначена для хранения всех этих установок. В современной микроэлектронной технике в качестве энергонезависимой памяти применяются микросхемы электрически-перепрограммируемого ПЗУ, которые получили название флэш-памяти (Flash).