Когда в главах 3 и 4 для вывода текста и графики использовался экран дисплея, концепция независимости от устройства могла показаться совершенной и очень удобной, но насколько полно эта концепция поддерживается для принтеров и плоттеров? В Microsoft Windows 95 принтеры и плоттеры обеспечены независимым от устройства графическим интерфейсом. При программировании для принтера можно не думать о последовательности управляющих сигналов и протоколах связи с принтером. В продаваемых программах для Windows бросается в глаза отсутствие дисков со специализированными драйверами принтеров, что характерно для программ текстовых редакторов и графических программ в MS-DOS. Если в продаваемую программу для Windows включаются драйверы принтера, то это, как правило, касается модернизированных версий существующих драйверов.
Из программ для Windows можно печатать текст и графику с использованием тех же функций GDI, какие использовались для вывода на экран монитора. Многое из изученного в главах 3 и 4, что связано с концепцией независимости от устройства — в большей степени это касается размеров и разрешающей способности дисплея, а также его возможностей по воспроизведению цветов — вполне применимо и допустимо здесь. Тем не менее принтер или плоттер это не просто монитор, в котором вместо кинескопа используется бумага. Имеется несколько очень важных отличий. Например, мы никогда не думали о том, что монитор может быть не подключен к видеоадаптеру, но для принтеров аналогичная проблема вполне реальна: они могут быть либо неподключенными, либо у них может кончиться бумага.
Не нужно было беспокоиться о том, что видеоадаптер не сможет реализовать определенные графические операции. Видеоадаптер либо может управлять выводом графики, либо нет. Последнее означает, что он вообще не может использоваться под Windows. В то же время на некоторых принтерах нельзя печатать графику (тем не менее они все еще используются при работе с Windows), а на плоттеры можно выводить векторную графику, но с пересылкой битовых блоков возникают проблемы.
Имеются и другие особенности, требующие внимания:
q Принтеры медленнее мониторов. Хотя мы пытались добиться наилучшей производительности, мы не беспокоились о времени, необходимом для отображения информации на экране. Но никто не захочет ждать, пока принтер закончит печатать, чтобы возобновить работу.
q В программах, когда одни данные сменяются другими, поверхность экрана используется многократно. На принтере это невозможно. Вместо этого, заполненную страницу сменяет следующая.
q На экране монитора одновременно имеются окна, куда выводят данные различные приложения. Для печати из различных приложений на принтере необходимо, чтобы их вывод был разделен на отдельные документы или задания.
Для