Как работает печать в windows

Обновлено: 07.07.2024

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

Всякий раз, когда вы даете какому-либо из приложений команду что-нибудь напечатать, информация, прежде чем быть посланной на принтер, поступает в очередь на печать — файл на жестком диске (spool file). Система Windows начинает отправлять данные на принтер, как только в этом файле их оказывается достаточное количество для того, чтобы напечатать первую страницу, даже если они будут продолжать поступать из приложения в очередь печати. Такое решение является компромиссом между стремлением поскорее освободить приложение для дальнейшей работы и желанием быстро напечатать документ. Но если вы не склонны к компромиссам, то не довольствуйтесь настройками, установленными в Windows по умолчанию. (Имейте в виду, что предложенные здесь советы могут не подойти для некоторых принтеров, в частности для сетевых принтеров и устройств, настроенных на печать в файл.)

Чтобы найти настройки, управляющие очередью печати, выберите опции «Пуск» или «Пуск?Настройка» и щелкните один-два раза на значке «Принтеры» либо «Принтеры и факсы». Правой кнопкой мыши щелкните на значке того принтера, работу которого вы хотите настроить, и укажите «Свойства». В Windows 9x и Me откройте закладку «Сведения», а потом нажмите кнопку «Очередь. ». В Windows 2000 и XP активируйте закладку «Дополнительно».

Если же ваш главный приоритет — сокращение времени ожидания того момента, когда освободится приложение, то убедитесь, что на закладке выбрана опция «Использовать очередь печати (ускорение работы приложений)» (она должна быть включена по умолчанию), а под ней задайте вариант «Начинать печать после помещения в очередь всего задания». Однако данный способ потребует большего свободного места на диске.

Если же вы хотите, чтобы ваши страницы побыстрее выходили из принтера, и вас не волнует то, что приложение дольше будет оставаться занятым, то выберите опцию «Печатать прямо на принтер (ускорение вывода на печать)». В некоторых версиях Windows данная опция бывает отключена, если принтер находится в совместном доступе, поэтому для ее активации щелкните на закладке «Доступ» и укажите «Нет общего доступа к данному принтеру». Такая настройка требует, чтобы принтер был включен, и поэтому, задав ее, вы не сможете приостанавливать процесс печати.

Если ни одна из двух охарактеризованных опций не подходит, то вернитесь к диалоговому окну очереди печати и восстановите исходные параметры. Выберите команду ускорения работы приложений, затем вариант «Начинать печать после помещения в очередь первой страницы» или «Начинать печать немедленно», а потом нажмите OK.

Печатаем в удобное время

Windows 2000. Когда вы печатаете документ, то страницы обычно начинают выходить из принтера практически через несколько секунд. Однако в Windows 2000 и XP разрешается распечатывать документы и позднее — скажем, во время обеденного перерыва или по прошествии нескольких часов. Возможность задавать конкретное время печати позволяет более эффективно использовать загруженные сетевые принтеры, поскольку допускается печатать одни документы сразу же, а другие позже. Это также бывает удобно сделать, если принтер стоит рядом с вами, а вам хочется, чтобы его шум поменьше мешал вам во время работы.

Чтобы спланировать печать, откройте диалоговое окно свойств вашего принтера, как это описано в предыдущем совете, и щелкните на закладке «Дополнительно». Выберите опцию «Доступен с. » и в окошках со стрелками справа укажите начало и конец временного интервала, в течение которого Windows разрешается посылать задания на принтер. Потом нажмите OK. С этого момента можно добавлять файлы из своих приложений в очередь печати, и они не будут печататься до назначенного времени. Не забудьте только позаботиться о том, чтобы в требуемое время принтер был включен.

Вместо того чтобы использовать одну общую настройку времени печати для всех файлов, допускается назначать время печати конкретных документов из очереди. Для этого сначала дважды щелкните на значке нужного принтера в окне «Принтеры» или «Принтеры и факсы», чтобы появилось окно очереди печати. Дважды щелкните на документе из списка, чтобы открылось диалоговое окно свойств документа. На закладке «Общие» в поле «Расписание» щелкните на позиции «Только с» и укажите начало и конец временного интервала, в течение которого этот документ может быть напечатан. Нажмите OK.

Печатаем по-своему

Иногда, чтобы побыстрее снова получить доступ к приложению, необходимо поместить документы в очередь, а порой распечатка нужна немедленно. Также в одни дни вы решаете печатать все документы ночью, а в другие — увидеть распечатки сразу же. А может быть, вы не способны воспользоваться приведенными выше советами, поскольку печатаете на принтере, подключенном к вашему компьютеру, вместе с кем-либо еще. К счастью, существует простой способ печатать то, что требуется, и тогда, когда требуется, но при этом без того чтобы всякий раз копаться в диалоговых окнах с целью отконфигурировать свой принтер. Трюк заключается в том, чтобы завести несколько значков для одного и того же принтера, а затем сопоставить каждому значку одну из тех настроек, которые вам чаще всего нужны. (Опять же этот совет может не сработать для включенных в локальную сеть принтеров, работающих в среде Windows 2000.) Откройте окно «Принтеры» или «Принтеры и факсы» и, чтобы отконфигурировать свой принтер, указав настройки, которыми вы пользуетесь чаще всего, следуйте указанным выше рекомендациям. Затем выделите значок этого отконфигурированного принтера, нажмите клавишу и введите название, которое будет напоминать о настройках, стоящих за данным значком, — например, «Печать с использованием очереди». Нажмите . Теперь дважды щелкните на значке «Установка принтера», а в XP — на одноименной ссылке слева. Следуйте указаниям Мастера установки принтеров и делайте все так, как будто бы заново подключаете свой принтер. Когда Мастер спросит, сохранять ли существующий драйвер или установить новый, то выберите опцию «Сохранить существующий драйвер (рекомендуется)» и щелкните на «Далее». В ответ на запрос об имени принтера введите что-нибудь, подходящее к настройкам, например «Прямая печать». Щелкните на «Далее» и следуйте указаниям, чтобы завершить работу Мастера.Чтобы задать свойства этому ярлыку в соответствии с вашими альтернативными настройками, отметьте только что созданный вами значок и выполните описанные выше шаги.

Теперь выберите в диалоговом окне печати нужный значок из установленных вами для принтера. Обычно эти значки видны в ниспадающем списке «Имя». Выделите требуемый значок, в диалоговом окне задайте другие необходимые настройки и щелкните на кнопке OK.

Предварительный просмотр с помощью миниатюр

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

О должном внимании к очереди печати

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

Откройте окно очереди печати, дважды щелкнув на значке принтера в Системном лотке — той части Панели задач, которая находится около часов. Того же результата можно достичь, открыв описанным выше способом окно «Принтеры» или «Принтеры и факсы» и дважды щелкнув на значке соответствующего принтера. Если вы послали на печать несколько документов, то они будут перечислены в том порядке, в каком поступили в список заданий на печать. Чтобы изменить этот порядок в Windows 98 и Me, просто перетащите элементы списка к началу или концу списка. В Windows 2000 или XP надо будет дважды щелкнуть на элементе списка, раскрыв тем самым диалоговое окно его свойств. На закладке «Общие» сдвиньте бегунок «Приоритет» влево, чтобы уменьшить приоритетность печати документа, или вправо, чтобы ее увеличить. Под бегунком будут появляться цифры от 1 до 99, которые помогут точно установить значение приоритета.

В Windows 2000 и XP имеется и другой способ устанавливать приоритеты печати. Откройте описанным выше способом диалоговое окно свойств принтеров и щелкните на закладке «Дополнительно». После этого задействуйте опцию «Первыми печатать документы из очереди», чтобы отдать более высокий приоритет тем документам, которые ОС Windows уже отправила на жесткий диск. Такая настройка отменяет ручные установки приоритетов, которые были описаны выше, и (согласно Microsoft) повышает эффективность работы принтера. Для отмены задания на печать в любой версии Windows щелкните правой кнопкой мыши на документе в списке заданий и укажите опцию «Отменить печать». Можно также выделить документ в списке и нажать клавишу , а потом, если понадобится, щелкнуть на «Да».

Ускоренный способ печати

Большинство людей печатают документ, открывая то приложение, в котором он был создан, затем сам файл, выбирая опции «Файл?Печать» и закрывая потом приложение. Чтобы поменьше щелкать мышью и стучать по клавишам, попробуйте воспользоваться следующей техникой.

Откройте Проводник Windows и найдите тот файл или файлы, которые вы хотите распечатать. Щелкните правой кнопкой мыши на файле или группе выделенных файлов и выберите опцию «Печать». Для большинства типов файлов связанное с ними приложение автоматически откроется, отправит файл или файлы на принтер и закроется без дальнейших хлопот. Но иногда, например в случае файлов изображений в Windows XP, вызываемая правой кнопкой мыши команда «Печать» запускает некую специальную процедуру типа Мастера фотопечати. Это добавляет несколько шагов, но если вы печатаете с установленными по умолчанию настройками, то через диалог с Мастером можно промчаться, ничего не меняя.

Scott Dunn. Quick and Easy Ways to Master Windows Printing. PC World, октябрь 2002 г., с. 160.



От всей души поздравляем вас с юбилеем, и пусть следующие 15 лет принесут «Миру ПК» еще больше успехов.

С дружеским приветом, главный редактор «PC Welt», Германия Юрген Брукмейер

Чтобы понять роль принт-серверов в процессе «овеществления байтов», классифицировать продукты этой области и обрисовать возможные проблемы, необходимо изучить процесс печати в наиболее популярной операционной системе, под которую заточены многие модели принтеров — Microsoft Windows. Принципиальная схема взаимодействия компонентов представлена на рис. 1.

Рис. 1. Технология печати в ОС Windows


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

Получив от приложения последовательность графических команд, подсистема GDI (Graphics Device Interface, «программный интерфейс для работы с графическими устройствами») пропускает их через драйвер, чтобы получить другую последовательность команд — уже специфичных для выбранного принтера. Чаще всего, на этом этапе драйвер выдаёт полностью готовый для печати поток данных, но в общем случае достаточно получить промежуточный метафайл — тогда, если принтер требует растрирования на компьютере, это растрирование может быть выполнено не на компьютере клиента, а на том, к которому подключён принтер, то есть на сервере печати.

GDI: небольшое лирическое отступление

Разумеется, транслировать команды рисования в поток данных для печати можно не только через GDI. Например, при печати на PostScript-принтер система GDI не используется, приложение самостоятельно формирует код на языке PostScript согласно файлу описания возможностей конкретного принтера (PPD, PostScript Printer Description). Однако для PS-принтеров существуют и GDI-драйверы, чтобы можно было печатать из обычных приложений, работающих только с GDI-объектами. Аналогично и с другими «профессиональными» языками печати, такими как Prescribe. А вот более «народный» язык PCL, как правило, реализуется только в виде GDI-драйвера, то есть формально все такие принтеры — GDI-принтеры.

Но обычно под «GDI-принтером» или «Windows-принтером» понимают host-based печать, когда принтер являет собой упрощённый аппарат, не обладающий собственными способностями по разметке страниц, цветоделению и растрированию, и требует готовые данные с компьютера: «здесь поставь точку, а здесь не надо». Бывают и гибридные устройства, как PCL3GUI, где макетирование осуществляется на компьютере, а растрирование выполняет уже сам принтер. Грубо говоря, провести черту между host-based принтерами и всеми остальными GDI-принтерами, можно по признаку, умеет ли данное устройство принимать шрифты в векторной форме или требует растр.

В последнее время, примерно с 2003 г., получил большое распространение в бюджетном ценовом диапазоне ещё один класс устройств, условно называемых Win-принтерами. Этот обиходный термин восходит к «Win-модемам», которые занимаются только модуляцией сигнала, оставляя все прочие задачи на долю центрального процессора, то есть почти целиком реализуются в программных драйверах, а драйверы такие, как правило, выпускаются только под Windows. То же самое с Win-принтерами. Мало того, что они живут на всём готовом, принимая от компьютера законченный растр страницы, так они даже и на это не способны, пока не скачают с компьютера полную версию управляющей программы, потому что в постоянной памяти хранят лишь базовый загрузчик. Соответственно, если подключить такой принтер не к компьютеру, а к обычному принт-серверу, который знать не знает, что принтеру сначала необходим сеанс «гипноза», получится просто груда беспомощного металлолома.

Далее задание попадает в очередь печати, соответствующую выбранному принтеру. Диспетчер очередей (спулер) сохраняет временную копию задания на диск, чтобы освободить оперативную память и уменьшить зависимость от сбоев. Трансформированное слово spool в русском языке пишется как «шпулька»: спулер и в самом деле напоминает эту катушку в швейной машине — сначала наматываем на него нитку (сохраняем задание), а потом она разматывается при шитье (данные уходят на печать).

В зависимости от того, подключён принтер к локальному порту или является сетевым, задание поступает либо к провайдеру местной печати, либо отправляется на сервер сетевой печати, у которого своя система очередей, свой провайдер печати и т. д. Здесь надо сделать важную оговорку относительно того, что такое сервер печати на самом деле. Настоящий сервер печати — это компьютер, к которому подключены принтеры и который обеспечивает общий доступ по сети к этим принтерам: позволяет печатать на них, загружать их драйверы для различных операционных систем, администрировать их. У сервера печати свои вычислительные ресурсы, своя память для хранения заданий. Стандартной для Windows является система сетевой печати на базе универсального протокола SMB (Server Message Block, «блочный обмен информацией»), используемого также для общего доступа к файлам; подробнее об этом и других протоколах см. «Протоколы сетевой печати». Управлять общим доступом к принтеру можно на вкладке Доступ в его свойствах.

Провайдер местной печати преобразует задание на промежуточном языке (метафайл) в понятный принтеру код с помощью подходящего обработчика (процессора) печати. Если нужный код уже был получен на этапе работы GDI и драйвера, преобразование тут не требуется, и задание проходит данную стадию нетронутым (raw). А вообще, это как раз та точка маршрута, где происходит растрирование страниц для т. н. «GDI-принтеров»: если принтер подключён к серверу, то и растрирование выполняется на сервере, избавляя компьютер клиента от лишних нагрузок. Используемый обработчик печати можно определить, нажав соответствующую кнопку на вкладке Дополнительно в свойствах принтера. Windows оснащена стандартным процессором WinPrint, поддерживающим основные виды промежуточных форматов. Популярными среди многих производителей оборудования являются разработки компании Zenographics: например, IMFPrint. Существуют также процессоры, позволяющие эмулировать язык профессиональной печати PostScript на принтерах, не реализующих его аппаратно.

Как и сами принтеры, порты тоже бывают местными (локальными) и сетевыми (точнее, удалёнными — remote). К местным портам относятся только параллельный LPT и последовательный COM, которые обслуживаются стандартным монитором локальных портов. Сетевые порты представляют собой обёртки для специализированных протоколов сетевой печати, таких как LPD. Собственно, вот здесь и вступают в действие те устройства, которые сейчас стало принятым называть серверами печати (print-server appliance), но они суть обыкновенные сетевые адаптеры принтеров. Некоторые из них более функциональны, другие иначе как конвертерами «USB-Ethernet» назвать трудно. Они тоже являются компьютерами в миниатюре и позволяют печатать по сети — просто реализуют не все функции настоящего сервера печати. Более того, при наличии должных знаний, можно самостоятельно сконструировать такой принт-сервер из старого компьютера и операционной системы типа Linux.

Начинающим пользователям может показаться странным, что принтер, подключённый к сетевому порту, всё равно считается локальным, в то время как принтер, подключённый к локальному порту другого компьютера, считается сетевым. Ещё более странным может выглядеть то, что интерфейс USB не входит в категорию локальных портов — он считается удалённым (remote port), и каждый разработчик применяет собственные методы взаимодействия, усложняя или вовсе пресекая на корню попытки подключения к принт-серверам даже собственной марки.

Помимо отправки готового задания на принтер, его можно сохранить в файл. Такой файл потом распечатывается без повторной обработки, и главное, для этого не требуется наличие на компьютере ни приложения, создавшего файл, ни использованных шрифтов, ни самого исходного документа. Перенаправление в файл выполняется либо при установке соответствующей галочки в диалоге печати, либо после назначения принтеру специального порта FILE. Другим видом перенаправления является создание виртуального порта, монитор которого прогоняет все получаемые данные через назначенную программу и записывает результат её работы в другой порт — более логично использовать для этих нужд специализированный обработчик печати, но зато таким образом, например, удаётся приспособить перенаправитель портов RedMon и интерпретатор GhostScript для эмуляции языка PostScript, не затратив ни копейки на это бесплатно распространяемое ПО.

Выбор модели взаимодействия

Как уже говорилось, используя вместо настоящего компьютерного сервера печати компактное устройство без жёсткого диска и с небольшим объёмом памяти, нельзя рассчитывать на буферизацию больших заданий или растрирование на стороне сервера. Если нужны такие функции, следует отказаться от однорангового режима (peer-to-peer, p2p), при котором клиенты напрямую обращаются к принт-серверу, считая его сетевым портом для своего локального принтера (рис. 2а).

Рис. 2. Одноранговое взаимодействие и архитектура «клиент-сервер»


Необходимо перейти к модели клиент-сервер, где принтер с точки зрения рабочих станций является удалённым, и лишь для самого сервера — локальным (рис. 2б). Здесь выделенный компьютер выступает в роли сервера печати для клиентов и является единственным, кто напрямую обращается к внешнему серверу печати соответствующего принтера. При этом тот сервер печати выступает в роли простого сетевого адаптера, позволяющего вместо интерфейсов USB или LPT передавать информацию по локальной сети со всей её развитой инфраструктурой. Поэтому от такого сетевого адаптера не требуется каких-то особых «наворотов» — лишь бы был совместимым с компьютерным сервером, потому что уровень обслуживания конечных клиентов зависит уже от компьютерного сервера.

Родовое проклятье Win-принтеров

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

Но почему же зависает драйвер при попытке печати на такой принтер, если тот подключен через принт-сервер? И почему он не зависает при печати на этот же принтер, если его подключать к другому компьютеру? А потому что драйвер не совсем глупый: он пытается загрузить прошивку только в локальный принтер. То есть когда идёт печать на локальный принтер, в том числе сидящий на удалённом (сетевом) порту, драйверу необходимо сначала загрузить в принтер прошивку, прежде чем тот сможет принимать данные для печати. Когда принтер сетевой, драйвер на вашем компьютере оставляет эту задачу драйверу на компьютере-сервере, для которого этот принтер является локальным.

Установка и конфигурирование принтеров и служб печати в Windows Server 2003 выполняются просто по сравнению с тем, что приходится делать для установки и конфигурирования служб и серверов печати других сетевых ОС . Конечно, обеспечение такой простоты требует большой внутренней работы, основная часть которой выполняется ядром операционной системы в фоновом режиме.

В этой лекции описывается, каким образом Windows Server 2003 выполняет печать , а также рассматриваются компоненты, участвующие в процессе печати. Здесь также описываются основные варианты установки и конфигурирования , которые вы можете использовать при установке служб печати в вашей сети.

Новые возможности печати

При модернизации из Windows NT вы увидите целый ряд существенных улучшений в печати Windows Server 2003. Если вы работали с Windows 2000 , то уже знакомы с большинством этих изменений, но в Windows Server 2003 появилось несколько дополнительных нововведений.

Все средства печати Windows Server 2003 будут описаны в этой лекции, но для самых любопытных ниже приводится краткая сводка наиболее важных модификаций.

  • Дистанционное администрирование портов. Дистанционное администрирование принтеров расширено и включает теперь дистанционное администрирование портов. (Введено в Windows 2000 ).
  • Стандартный порт для TCP/IP. Новый порт, который называют стандартным портом, можно использовать для простой установки большинства принтеров TCP / IP в вашей сети. Если вы когда-либо конфигурировали печать TCP / IP в Windows NT 4, то по достоинству оцените тот факт, что вам не нужно проходить через многочисленные шаги во всех этих диалоговых окнах. (Введено в Windows 2000 ).
  • Печать через интернет. Печать интегрирована с интернетом, и пользователи могут получать доступ к серверам печати в сети интранет или в интернете с помощью URL -адреса. (Введено в Windows 2000 ).
  • Мониторы очереди печати. Вы можете следить за показателями работы локального или удаленного принтера с помощью объекта Print Queue (Очередь печати) в System Monitor . Имеются счетчики для многочисленных показателей производительности. (Введено в Windows 2000 ).
  • Пользователи могут изменять настройки. Пользователи, работающие с Windows XP Professional и Windows Server 2003, могут изменять личные настройки параметров по умолчанию для документов. Это не было доступно для пользователей, работающих с Windows NT или Windows 2000 (но было доступно при работе с Windows 9x ).
  • Новое диалоговое окно Print. Изменилось стандартное диалоговое окно Print, которое появляется при печати из приложений. Вы можете теперь устанавливать принтер непосредственно из диалогового окна Print.
  • Новое название для папки Printers. Папка Printers теперь называется Printers and Faxes (Принтеры и факсы).
  • Автоматическая установка драйверов принтеров во всех узлах кластера. Если вы устанавливаете драйвер принтера в одном узле кластера , этот драйвер автоматически устанавливается во всех остальных узлах.
  • Блокирование установки драйверов принтеров в режиме ядра. С помощью групповой политики администратор может запретить пользователям установку драйверов принтеров в режиме ядра.

Основы печати

Windows Server 2003 – это операционная система в защищенном режиме без прямого доступа к оборудованию. Поэтому для управления возможностями печати и взаимодействия с физическими печатающими устройствами используются виртуальные принтеры (иногда их называют логическими принтерами). Отправка задания печати на принтер означает отправку этого задания на соответствующее виртуальное устройство. При этом важно помнить о следующем.

  • Значки, которые выводятся в списках принтеров, представляют виртуальные принтеры.
  • Пользователи отправляют задания печати виртуальному принтеру, а не на физический принтер.
  • Установленные драйверы принтеров загружаются во время печати и отправляются виртуальному принтеру.
  • Изменения конфигурации в свойствах принтера выполняются для виртуального принтера, но эти параметры должны соответствовать возможностям физического принтера.

Процессы печати

Создание выходного файла

Windows-приложение вызывает интерфейс Graphical Device Interface ( GDI ), который, в свою очередь, обращается к драйверу принтера , связанного с целевым принтером. Используя информацию о документе, представленную этим приложением, GDI и драйвер формируют данные в формате EMF ( enhanced metafile ), содержащие вызовы GDI и информацию драйвера принтера. Затем Windows-приложение обращается к клиентской стороне спулера печати (Winspool.drv).

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

Примечание. Процессы печати других ОС и приложений (отличных от Windows) не используют GDI . Эту задачу осуществляет какой-либо компонент, аналогичный GDI Windows.

Выходной файл содержит команды ( инструкции ), которые называются вызовами интерфейса DDI (Device Driver Interface). Эти команды передаются драйверу принтера . Соответствующий выходной файл называется файлом журнала DDI. Графический процессор ( %SystemRoot%\System32\gdi32. dll ) преобразует команды GDI в команды DDI, которые могут читать процессоры печати операционной системы и драйвер принтера .

Обработка выходного файла

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

Примечание. Независимо от физического принтера, на который отправляется выходной файл (локальный или сетевой принтер ), этот файл всегда передается локальному спулеру.

Маршрутизация задания печати

Клиентский компьютер использует удаленный вызов процедур ( RPC – Remote Procedure Call ) для отправки задания печати маршрутизатору Windows на сервере печати. Маршрутизатор принимает задание от клиентского компьютера и определяет местоположение физического принтера. Если принтер является локальным, это просто означает, что соответствующее задание отправляется назад клиентскому спулеру, и локальный компьютер считается сервером печати .

Отправка задания печати

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

Компоненты печати

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

Спулер

Спулер – это программный компонент , содержащий группу DLL , поддерживающих процедуры, которые должны выполняться при отправке документа на принтер. К этим процедурам относятся:

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

Спулер получает задание печати, сохраняет это задание на диске, после чего передает задание через последовательность процессов печати и отправляет его на принтер. После сохранения задания печати на диске пользователь может вернуться к работе в приложении, из которого отправлено задание. Вся обработка задания печати происходит в фоновом режиме.

По умолчанию для спулинга используется папка %SystemRoot%\System32\Spool\ Printers . Вы можете изменять местоположение спулера, и это обычно имеет смысл, если на данном компьютере есть другой диск (где больше объем свободного пространства). Файлы спулинга на сервере печати могут занимать существенную часть пространства на диске.

Если на сервере печати есть второй диск, подсоединенный к отдельному контроллеру, то вы можете также повысить производительность ввода-вывода на используемом по умолчанию диске спулера, переместив спулер на диск с другим (отдельным) контроллером .

Чтобы переместить спулер, откройте папку Printers and Faxes и выберите в меню File пункт Server Properties (Свойства сервера). ("Сервер" означает сервер печати , поэтому данный пункт меню представлен также на рабочих станциях , которые предоставляют разделяемые принтеры.) В диалоговом окне Print Server Properties перейдите во вкладку Advanced (Дополнительно), где показано местоположение папки спулера. Введите новое местоположение с учетом следующих особенностей.

  • Не помещайте папку спулера в корень. Windows Server 2003 не допустит такую конфигурацию и вернет папку спулера в ее исходное местоположение. (Я использую D:\Printing\Spool\ Printers .)
  • Не перемещайте папку спулера, пока имеются активные задания печати, поскольку эти задания не будут напечатаны.
  • Если указанная вами папка не существует, она будет создана для вас, но если это подпапка, то ее родительская папка уже должна существовать. Иначе говоря, система может автоматически создать только нижний уровень указанного пути, поэтому лучше заранее создать полный путь , прежде чем переместить спулер.
  • Если спулер находится в разделе NTFS , то проследите, чтобы группа Everyone имела полномочия записи для папки спулера.

Новое местоположение немедленно записывается в реестр и начинает действовать сразу. Оно записывается в раздел HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows NT \CurrentVersion\Print\ Printers для элемента данных DefaultSpoolDirectory ( тип данных REG_SZ ).

Если новое местоположение не действует, нужно завершить и снова запустить службу Print Spooler (Диспетчер очерди печати), используя следующие шаги.

  1. В панели управления ( Control Panel ) откройте апплет Administrative Tools (Администрирование).
  2. Откройте консоль Services ( Службы ).
  3. Выберите Print Spooler .
  4. Если вы используете представление Extended (Расширенное), то щелкните в панели этой консоли на кнопке Stop и затем щелкните на кнопке Restart .


Вы можете также завершать работу службы Print Spooler и запускать ее из командной строки с помощью команд net stop spooler и start spooler .

Файлы спулинга

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

  • Файл спулинга. Этот файл непосредственно содержит задание печати. Он имеет расширение . spl .
  • "Теневой" файл. Этот файл содержит административную информацию, необходимую для печати данного задания (целевой принтер, приоритет задания, имя отправившего задание пользователя и т.д.). Этот файл имеет расширение .shd.

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

Драйверы принтеров

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

  • Графические драйверы.
  • Драйверы интерфейса принтера.
  • Файлы характеристик принтера.

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

Графические драйверы

Функции вывода изображений (воспроизведение графики) реализуются Windows Server 2003 с помощью DLL . DLL Print Graphics Driver предоставляет вызовы API , которые используются как интерфейс графического устройства при формировании файла журнала DDI. Кроме того, графический драйвер преобразует команды DDI в команды, которые воспринимаются принтером. Эти файлы хранятся в подпапках внутри %SystemRoot%\System32\Spool\ Drivers \w32x86 .

Драйверы интерфейса принтера

Файлы интерфейса принтера (это . dll -файлы) предоставляют опции, которые может выбирать пользователь при конфигурировании принтера. В частности, они выводят диалоговые окна Properties и Printing Preferences.

Файлы характеристик принтера

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

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

Если вы работали когда-либо с Novell NetWare или с OS /2, то вам придется пересмотреть свое понимание слова "очередь". Очередь, используемая этими операционными системами, – это основной программный интерфейс между приложениями и физическим принтером. Имеется взаимнооднозначное соответствие между очередью и принтером.

Например, если в OS /2 пользователь отправляет задание печати на принтер, это задание перехватывается спулером OS /2, содержащим задание в очереди, которая реально является виртуальным алиасом для конкретного физического принтера. Задание печати представляется очереди для обработки, то есть очередь не является набором файлов печати, которые уже "обработаны" операционной системой. Спулер и очередь представляют объединенное понятие. Драйвер принтера , спулер и очередь не обрабатывают задание печати по отдельности: задание захватывается, содержится и передается на физический принтер одним объектом – очередью.

NetWare 3.x (и NetWare 4.x, если вы используете очередь вместо виртуального принтера) действует почти так же, как и OS /2, за исключением того, что для настройки очереди и сервера принтера требуется намного больше работы.

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

Для PostScript -принтеров это файлы PostScript Printer Description ( PPD ), то есть текстовые файлы , поставляемые изготовителем принтера. Они совместимы как двоичные файлы между различными платформами и процессорами.

Процессор печати Windows Server 2003

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

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

Windows NT /2000/XP/2003 Server использует по умолчанию тип данных EMF , поэтому процессор печати может передавать задание принтеру "с полной уверенностью", что принтер сможет интерпретировать и обработать задание печати.

Процессор печати и конфигурацию для типа данных можно найти в диалоговом окне Properties (Свойства) принтера: щелкните на кнопке Print Processor (Процессор печати) во вкладке Advanced .

Используются следующие типы данных .

  • RAW . Этот тип данных указывает, что рендеринг задания уже был выполнен и оно готово для данного принтера. В этом случае процессор печати ничего не делает. Тип RAW применяется клиентами, не использующими Windows NT4/2000/XP/2003, и это тип данных по умолчанию для всех PostScript -принтеров.
  • RAW [FF appended ]. Этот тип данных указывает, что клиент отправил документ без символа конца страницы в конце задания (что требуется для вывода из принтера последней страницы). Процессор печати добавляет символ конца страницы и больше ничего не делает.
  • RAW [FF auto ]. Этот тип данных действует так же, как и RAW [FF appended ], но процесс печати проверяет наличие символа конца страницы в конце задания и при необходимости добавляет его.
  • TEXT. Этот тип данных указывает, что задание содержит простой текст, и он обычно используется для заданий печати, отправляемых на PostScript -принтеры или плоттеры (которые не воспринимают текст как допустимый тип данных ). Процессор печати использует драйвер принтера для рендеринга такого задания в команды принтера, которые допускаются адресуемым принтером.
  • EMF . Тип данных EMF ( Enhanced Metafile ) используется по умолчанию большинством приложений, написанных для Windows NT4, Windows 2000 , Windows XP и Windows Server 2003. Информация EMF генерируется интерфейсом GDI перед спулингом; затем спулер пересылает задание печати в очередь в фоновом режиме. EMF -файлы обычно меньше, чем файлы с типом данных RAW . Еще важнее то, что они обеспечивают переносимость и могут преобразовываться в соответствии с требованиями почти любого принтера.

Другие процессоры печати

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

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

Маршрутизатор печати

Маршрутизатор печати принимает запрос на печать от клиента и определяет компонент спулера, который следует использовать для выполнения данного запроса. Он действует между клиентским компьютером и сервером печати (который может, конечно, оказаться, тем же компьютером). Маршрутизатор печати реализуется с помощью Winspool.drv, находящегося в папке %SystemRoot%\System32 , а связь между клиентом и маршрутизатором печати осуществляется с помощью вызовов RPC .

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

Печать документа в Word - это конечный результат того, что вы наработали, создали в программе. Для вывода на бумагу печатного документа требуется принтер. Как настроить свойства печати документа? Какие способы быстрой печати существуют? И что означают некоторые параметры печати в программеворд? В статье представлен пошаговый механизм печати документа и рассказываю, как напечатать несколько документов сразу и с двусторонней печатью.

Подписывайтесь на канал , ставьте лайк, и всем хорошего настроения!

Как настроить свойства печати?

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

1. В верхнем левом углу окна открытого документа щелкаем по кнопке «Файл».

2. В меню типичных задач выбираем пункт «Параметры Word».

3. В окне «Параметры Word» на вкладке «Дополнительно» в группе «Печать» выбираем следующие пункты:

– «Использовать черновое качество» – если необходимо распечатать документ с минимумом форматирования и низким качеством печати для создания рабочей версии документа;

– «Фоновая печать» – для распечатки документов в фоновом режиме, продолжая работать с документами. Рекомендуется включить по умолчанию;

– «Печать в обратном порядке» – если необходимо распечатать документ, начиная с последней страницы;

– «Печать XMLтегов» – если необходимо распечатать используемые в документе XMLтеги для XMLэлементов;

– «Печать кодов полей вместо их значений» – если необходимо вывести на печать вместо самих значений полей задающие их коды;

– «Печатать на задней стороне листа при двусторонней печати» – если необходимо печатать двусторонние документы на обычном принтере. Задние страницы документа печатаются в порядке возрастания;

– «Масштабировать содержимое по размеру бумаги А4 или Letter» – если необходимо, чтобы документ, при создании которого использовался размер бумаги А4, был правильно преобразован и напечатан на бумаге, размер которой Letter (и наоборот). Рекомендуется включить по умолчанию.

4. В графе «Подача бумаги» рекомендуется выбрать значение «Использовать настройки принтера».

5. В графе «При печати этого документа» выбираем значение «Все новые документы» чтобы заданные настройки печати действовали для всех документов.

6. Активируем вкладку «Экран» и в группе «Параметры печати» задаем:

– «Печатать рисунки, созданные в Word» – если необходимо распечатать в документе графические объекты, вставленные в его текст (если пункт не включить, вместо автофигур и рисунков будут распечатаны только пустые рамки);

– «Печать фоновых цветов и рисунков» – если необходимо задать печать фоновых цветов и рисунков, помещенных на страницы документа;

– «Печатать свойства документа» – если необходимо распечатать сопутствующую документу информацию (кем и когда создан и т.д.) на отдельном листе;

– «Печатать скрытый текст» – если необходимо распечатать имеющийся в документе скрытый текст;

– «Обновлять поля перед печатью» – для автоматической проверки и обновления значений всех полей документа перед выводом на печать;

– «Обновлять связанные данные перед печатью» – для автоматического обновления связанных данных документа перед выводом его на печать.

7. Закрываем окно кнопкой «ОК».

Другие статьи на канале:

Как быстро распечатать документ?

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

В окне открытого документа на панели быстрого доступа щелкаем по кнопке «Быстрая печать» (значок принтера) (если она туда предварительно установлена).

Читайте также: