Печать на сплошную ленту
Для печати ландшафтом и портретом (альбомная и книжная ориентация) драйверу печати необходимы такие параметры, как длина и ширина листа (и, соответственно, формат: А4 и т. п.). При печати на рулон Windows всё равно разбивает ленту по листам, и если одна строчка не помещается на страницу, то затем почти целый лист бездарно проматывается. Я сделал просто — добавил ещё один логический принтер в системе с такими параметрами: все вертикальные поля и отступы равны 0, длина листа минимальна (где-то 2–3 см) — это и будет теперь максимальной длиной промотки, а если полстроки не влезет на одну страницу и распечатается на следующей, то при нулевых вертикальных полях она не разорвётся и будет выглядеть непрерывной.
Решение проблемы при печати больших объёмов графики
Если при печати больших графических файлов катастрофически не хватает памяти, то можно сделать следующее. Открыть в Панели управления настройки принтера и зайти в его свойства. В появившемся окне открыть вкладку "Сведения" и в разделе "Интервалы ожидания" увеличить значение в графе "Повтор передачи".
При этом возрастёт время, за которое Windows отправляет данные на принтер, перед тем, как взять timeout. Это позволяет печатать большие объёмы графики при невысокой скорости соединения компьютера с принтером.
Утилита Enhanced Printer Troubleshooter
Если при работе в Windows у Вас возникли проблемы с принтером, воспользуйтесь программой Enhanced Printer Troubleshooter (EPTS.EXE), которая лежит в каталоге \OTHER\MISC того CD, с которого Вы ставили Windows. Это нечто похожее на стандартный Printer Troubleshooter, но немножко поумнее.
Решение проблемы с принтером при загрузке Windows 98
При загрузке Windows 98 драйвер виртуального устройства Drvwppqt.vxd пытается определить устройство резервного копирования, подключённое к порту LPT, для чего посылает в порт LPT служебную информацию, которую может распознать указанное устройство. Некоторые принтеры, получив подобную служебную информацию из LPT-порта, реагируют неадекватно. Отключите этот драйвер (например, изменив его расширение с VXD на OLD), если к LPT-порту вашего компьютера не подключены устройства резервного копирования и наблюдается следующая проблема: при старте Windows 98 или перед печатью первого после старта документа принтер печатает страницу непонятных символов; возможна также ситуация, когда принтер выдаёт сообщение об ошибке или отказывается печатать документы, ссылаясь на состояние "offline" или отсутствие бумаги, при старте операционной системы.
Драйвер принтера "Общий/Только текст"
Если у вас матричный принтер, то в ряде случаев имеет смысл печатать на нём в текстовом режиме (используются шрифты, хранящиеся в ПЗУ принтера), что в несколько раз быстрее, чем в графическом режиме. Большинство DOS-приложений только в текстовом режиме и печатает. Чтобы заставить так печатать Windows-приложения, надо воспользоваться драйвером "Общий/Только текст" (Generic/Text Only), входящим в дистрибутив Windows. Для правильной печати кириллицы нужно дополнительно проделать следующее.
Во-первых, на самом принтере надо выставить 866 кодовую страницу (кириллица DOS), которая обычно имеется, а кодовой страницы 1251 (кириллица Windows) на матричных принтерах, как правило, нет. Как выставить — смотрите инструкцию к принтеру. На некоторых моделях это делается с помощью переключателей, на некоторых — путём запуска встроенной в принтер программы настройки и ответа на вопросы, печатаемые принтером, нажатием определённых кнопок. Если у принтера вообще нет в ПЗУ СР-866, то с кириллицей в текстовом режиме будут проблемы.
Если принтер имеет ОЗУ знакогенератора, то можно попытаться использовать специальные драйверы, которые загружают шрифт кириллицы в ОЗУ. В противном случае может помочь только прошивка шрифтов кириллицы в ПЗУ принтера с помощью специального прибора — программатора.
Во-вторых, надо в свойствах драйвера "Общий/Только текст" перейти на вкладку "Параметры устройства" и настроить "Таблицу соответствия расширенных символов". Для этого следует поочерёдно в списке "На экране" выбирать буквы кириллицы и вводить для них в поле "На принтере" нужные коды из СР-866, которые надо передавать на принтер. Например, выбираем букву "А" кириллицы и задаём для неё код 128 (в поле "На принтере" нажимаем клавишу <Alt> и набираем 128 на цифровой панели клавиатуры). Аналогично поступаем со всеми остальными буквами кириллицы, а также некоторыми знаками (например, знак номера "№" — код 252). В списке "Соответствие" должно быть задано "1 TTY". Введённые коды сохраняются в файле tty.dat в каталоге Windows. Драйвер "Общий/Только текст" можно использовать также для сохранения информации в текстовый файл из тех приложений, которые сами не позволяют этого, но осуществляют печать. Надо будет лишь в свойствах данного драйвера портом для вывода на печать назначить FILE:. Следует иметь в виду, что настроить печать кириллицы на матричном принтере в текстовом режиме удастся только для Windows 95/98/Ме/2000, причём в Windows 95/98/Ме этот способ не сработает для программ, использующих кодировку Unicode, например, Word 97/2000/2002 (придётся документ сохранять в формате RTF или Word 6.0/95 и печатать из стандартного редактора WordPad). В Windows NT/2000/XP нет возможности самостоятельной настройки таблицы соответствия, там файл tty.dat не используется. Однако в Windows 2000 в драйвере "Generic/Text Only" можно выбрать кодовую страницу 866 на вкладке "Выбор шрифта". В Windows ХР почему-то доступна только кодовая страница 1251, что позволяет решить вторую задачу (сохранение печатной информации в текстовый файл), но не первую (печать в текстовом режиме).