Вы здесь: Главная > ПЕРИФЕРИЯ > Печать из DOS-программ

Печать из DOS-программ

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

В силу каких-то объективных или субъективных причин некоторые организации до сих пор продолжают использовать так называемые DOS — программы. Такую программу конечно можно приспособить для работы на более современных операционных системах. Но вот с печатью иногда бывают проблемы, тем более, если принтер  сетевой. В интернете нашел несколько советов, которые значительно облегчат работу администратора при использовании DOS — приложений:

Печать из DOS-программы на сетевой принтер

Если DOS-программа не позволяет выбрать порт для печати и посылает печать на LPT1, а надо печатать на сетевой принтер, то воспользуйтесь командой net use. Введите в консоли:
net use lpt1: \\Server_Name\Printer_Name,
где Server_Name — это имя компьютера, к которому подключен сетевой принтер с именем Printer_Name.

При завершении работы DOS-программы можно освободить порт:
net use lpt1: /d

Настройка задержек при печати из DOS-программ

При отправке заданий на печать на сетевой принтер из приложений MS-DOS может происходить задержка на 60−90 секунд до начала печати, что вызывает остановку работы MS-DOS-приложения в течение этого времени. При завершении работы приложения печать начинается сразу после его закрытия. Такое же поведение может наблюдаться при нажатии клавиши <Print Screen> в приложении MS-DOS. Проблема обусловлена тем, что приложение MS-DOS при печати не закрывает принтерный порт. По умолчанию, MS Windows 95 ожидает поступления новых данных в течение 45 секунд, после чего начинает печать документа. Для решения проблемы необходимо отредактировать файл System.ini на том компьютере, где выполняется приложение MS-DOS.
Добавьте в раздел [Network] файла System.ini следующую строку:
PrintBufTime=10
А в раздел [IFSMGR] следующую строку:
PrintBufTime=10
Примечание: Если данные разделы отсутствуют в файле System.ini, то добавьте их после раздела [386Enh].

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

Параметр, заданный в разделе [Network], управляет задержкой при сетевой печати с использованием редиректора реального режима; параметр, заданный в разделе [IFSMGR], устанавливает задержку при сетевой печати с использованием редиректора защищённого режима. Данные настройки также могут оказывать влияние и на локальную печать.

Проблемы при печати из DOS-приложений в Windows NT/2000/XP

Приложения MS-DOS в среде Windows NT/2000/XP при печати используют NT-спулер (программа-планировщик, которая принимает документы, посланные пользователем на печать, сохраняет их и отправляет один за другим на доступный принтер). Спулер ждёт некоторое время (15 секунд, по умолчанию), прежде чем передать полученные данные на принтер. Если задаче (print job) требуется для генерации полного кода больше времени, чем установлено по умолчанию, спулер начинает посылать на принтер уже подготовленный код, в результате чего печать разбивается на несколько страниц.

Чтобы предотвратить разрыв страниц, надо увеличить таймаут печати, который задаётся в разделе реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\WOW
в строковом параметре «LPT_timeout». Установите его значение, например, в «30».
Если при печати из DOS-приложения возникают остановки на время порядка 15 секунд, то можно попробовать наоборот — уменьшить значение данного параметра, например, до «3».

Ну и на «десерт» хочу предложить Вам программу, которая значительно облегчила мне жизнь в свое время: Программа пeчaти из DOS-пpилoжeний Sprint.exe

Утилита sprint.exe предназначена для перехвата файлов, создаваемых другими программами, для их последующей обработки c возможностью распечатки на любом доступном для печати принтере (в том числе лазерном, струйном, сетевом, локальном, USB и т.д.). При этом размер шрифта документа подбирается таким образом, чтобы он мог полностью поместиться на странице без переносов.

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

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

Есть несколько способов настройки печати документов, создаваемых DOS-приложениями. Если приложение, с которым Вы работаете, создает файлы, которые впоследствии и выводит на печать, и эти файлы можно описать по маске, то настраиваете SPrint на подкаталог, где приложение создает свои файлы, и указываете их маску, например: C:\Prog\Zarplata\*.txt

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

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

В случае если программа во время своей работы не создает файлов, а производит непосредственный вывод на печать (на LPT-порт), можно воспользоваться возможностью собственного перехвата таких заданий с помощью SPrint Redirector, который является составной частью SPrint и поддерживается, начиная с версии2007.10.15.  Для этого в Настройке на закладке «Мониторинг» поставьте отметку напротив «Пepexвaт DOS-пeчaти (пopт LPT1:)». Если при инсталляции программы SPrint Вы не отметили необходимость установки данной возможности (или установка производилась без инсталлятора), то в этот момент все необходимые компоненты (а именно виртуальный принтер SPrint Redirector) будут установлены на Ваш компьютер, что позволит программе перехватывать задания DOS-сессии.

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

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

Популярность: 22%

Кстати,
Вам понравилось?

  • Понравилась статья - поделитесь с друзьями через кнопки социальных сетей.
  • Не хотите пропускать новые статьи - подпишитесь на рассылку.

Ваш e-mail: * Ваше имя: *

 

2 комментария к “Печать из DOS-программ”

  1. Сергей пишет:

    sprint.exe очень полезная программа ;-)

  2. Petrosoycle пишет:

    да, наверно так и есть

Оставьте комментарий