DOS-печать из терминального режима
Select messages from
# through # FAQ
[/[Print]\]

-> Технический форум БЭСТ-4

#1: DOS-печать из терминального режима Author: Mahoney PostPosted: 06 Sep 2005 09:14
    —
Работает БЭСТ4+ в терминальном режиме Windows 2003. Win-печать на локальном принтере работет нормально, а при попытке DOS-печати БЭСТ просто виснет. Как наладить DOS-печать в терминально режиме?

#2:  Author: Child_78Location: А.А.Е. PostPosted: 07 Sep 2005 06:46
    —
Net use lpt1 \\komp\printer

#3: Re: DOS-печать из терминального режима Author: MagistrLocation: Петрунин Д.Н. PostPosted: 09 Sep 2005 16:43
    —
Mahoney wrote:
Работает БЭСТ4+ в терминальном режиме Windows 2003. Win-печать на локальном принтере работет нормально, а при попытке DOS-печати БЭСТ просто виснет. Как наладить DOS-печать в терминально режиме?


Либо, как уже было сказано, net use, но тогда ваши пользователи "привязаны" к одному принтеру, либо viewer32 - предоставляет пользователю выбрать из списка любой принтер, установленный в Windows через панель упраления. К тому же, автоматически сжимает отчеты (подбор размера шрифта), чтобы они занимали минимум бумаг

#4:  Author: Mahoney PostPosted: 17 Sep 2005 12:21
    —
Child_78 wrote:
Net use lpt1 \\komp\printer

Нет, это не годится. Принтер, на котором я пытаюсь печатать выглядит как локальный, т.е. у него нет сетевого имени. Просто в Remote Desktop Connection я на вкладке "Локальные ресурсы" ставлю галочку на позиции "Принтер" и могу печатать на принтере локального компьютера из терминальной сессии на сервере. Win-печать работает, но медленно. В настройках БЭСТ пробовал разные настройки для DOS-печати - всё равно виснет Из-за этого не можем перейти на БЭСТ-4+.

#5:  Author: MagistrLocation: Петрунин Д.Н. PostPosted: 18 Sep 2005 14:43
    —
Mahoney wrote:
Child_78 wrote:
Net use lpt1 \\komp\printer

Нет, это не годится. Принтер, на котором я пытаюсь печатать выглядит как локальный, т.е. у него нет сетевого имени. Просто в Remote Desktop Connection я на вкладке "Локальные ресурсы" ставлю галочку на позиции "Принтер" и могу печатать на принтере локального компьютера из терминальной сессии на сервере. Win-печать работает, но медленно. В настройках БЭСТ пробовал разные настройки для DOS-печати - всё равно виснет Из-за этого не можем перейти на БЭСТ-4+.


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

1) Можно попробовать включить редирект LPT портов (если у вас Citrix, а не RDP).
2) Насколько я помню, у автоматически подключаемых ресурсов (принтера, диски) ЕСТЬ особые имена, которые тоже можно попробовать в команде net use.

#6:  Author: Mahoney PostPosted: 19 Sep 2005 13:57
    —
А как узнать это сетевое имя? Клиент - Win98. В домен войти не може

#7:  Author: MagistrLocation: Петрунин Д.Н. PostPosted: 19 Sep 2005 15:16
    —
Mahoney wrote:
А как узнать это сетевое имя? Клиент - Win98. В домен войти не может.


Тип клиента не имеет значения при работае в терминальном режиме.
Я тут проверил - команда net use позволяет отобразить диски терминального клиента на букву диска в терминальной сесии. Для этого в терминальной сессии выполните команду NET USE без параметров и вы увидите доступные ресурсы клиента (типа \\TSCLIENT\С или \CLIENT\A$). Эти ресурсы можно подключать так: net use q: \\TSCLIENT\C. Тогда в терминальной сесси можно будет через виртуальный диск Q получить доступ к диску C терминального клиента. Я попробовал проделать аналогичную операцию для принтера - не получилось.

Но у меня получилось использовать редирект LPT портов - это когда данные, которые отправляются в LPT порт терминальной сессии перенаправляются терминальному клиенту и отправляются в LPT порт клиента. Перенаправление LPT портов, насколько я помню, недоступно в штатном терминальном сервере Windows 2000, но доступно в штатном терминальном сервере Windows 2003, а также доступно в Citrix, который можно установить и на Windows 2000 (что дает возможность использовать редирект LPT на сервере Windows 2000). Если вы все же хотите печатать из DOS программ при использовании штатного терминального сервера Windows 2000, то вы должны предоставить локальные принтеры клиентов в общий доступ, а в терминальной сессии выполнить команду net use lpt1: \\clientcompname\printername - иначе никак (хотя viewer32 решает данную проблему на штатном терминальном сервере Windows 2000).

При включенном редиректе LPT, DOS программы, работающие в терминальной сессии успешно печатают документы на локальный принтер терминального клиента (проверил).

#8:  Author: sirgeLocation: Богатырев Сергей Александрович PostPosted: 05 Dec 2005 12:46
    —
Quote:
...но доступно в штатном терминальном сервере Windows 2003...

Это не доступно. Перенаправления LPT1 в 2003 нет. Этим занимается только Citrix.
net use ... и никаких гвоздей. Хоть LPT1, хоть LPT2, хоть LPT3.

#9:  Author: MagistrLocation: Петрунин Д.Н. PostPosted: 06 Dec 2005 10:06
    —
sirge wrote:
Quote:
...но доступно в штатном терминальном сервере Windows 2003...

Это не доступно. Перенаправления LPT1 в 2003 нет. Этим занимается только Citrix.
net use ... и никаких гвоздей. Хоть LPT1, хоть LPT2, хоть LPT3.


Ну как же недступно.
1) На клиенте net use lpt3: \\comp\prnname
2) Запускаю на клиенте RDP 5.1.
3) В настройках клиента ставлю флажок для редиректа "serial ports"
4) Подключаюсь к TS W2K3 SP1 клиентом RDP 5.1
5) В терминальной сессии: cmd, copy test.txt lpt3
6) Все отлично печатаеся!

TS W2K3 - это не то же самое, что TS W2K. Microsoft в штатном TS W2K3 реализовал редирект звука, COM и, как я выяснил, LPT портов! В TS W2K такого не было.

Вроде странно, что для того, чтобы заработал редирект LPT нужно разрешать "serial ports" в свойствах RDP клиента - просто Microsoft "поленился" сделать отдельную опцию "parallel ports" и редирект COM и LPT потов "затужил" в одну опцию.

#10:  Author: sirgeLocation: Богатырев Сергей Александрович PostPosted: 06 Dec 2005 13:27
    —
Стоит клиент 5.2, только нифига не печатает, пока в терминальной сессии не пропишешь net use lptN \\...\\...
Хоть включай serial ports, хоть не включай.
Из помощи:
"...Depending on the policies of your network, local serial port mapping might be disabled for some or all remote connections. "
Про parallel ports ни слов

#11:  Author: Ky3bM@Location: Кузнецов Александр Евгеньевич PostPosted: 12 Jul 2007 09:55
    —
тоже проблема с ДОС печатью в терминале WIN2003R2
если принтер подключён к клиенской машине то печать проходит без проблем, но если принтер сетевой и на нём перенаправлен ЛПТ порт
то печатает только нижнюю строку, вамилию руководителя.

может кто сталкивался?

И ещё вопрос конструктор отчётов не хочет работать 12.1версия установил setupprn из sp выдаёт ошибку: ole2.dll - не является образом программы для windows NT

#12:  Author: volk PostPosted: 24 Oct 2007 13:18
    —
проблема следующая, чтобы печатать из БЭСТА-4 под WinXP я каждый раз при загрузке компьюетра ввожу команду Net use lpt1 \\komp\printer, что сделать, чтобы это команда прописалась в автозагрузку.Я пробовал создавать файл netuse.bat или netuse.cmd, но почему-то не срабатывало

#13:  Author: psaLocation: Павличенко Сергей Александрович PostPosted: 24 Oct 2007 20:59
    —
volk wrote:
проблема следующая, чтобы печатать из БЭСТА-4 под WinXP я каждый раз при загрузке компьюетра ввожу команду Net use lpt1 \\komp\printer, что сделать, чтобы это команда прописалась в автозагрузку.Я пробовал создавать файл netuse.bat или netuse.cmd, но почему-то не срабатывало


Добрый вечер!
Для восстановления подключения при следующем входе в систему необходимо использовать параметр /persistent:{yes|no} в команде:

net use [устройство | *] [\\компьютер\ресурс[\том]] [пароль | *]] [/user:[домен\]имя_пользователя] [[/delete] | [/persistent:{yes | no}]]

Примеры использования можете посмотреть здесь:
http://www.metodist.ru/iitdocs/metodika/morozov/net/net02/index.html

Успехов!
С.Павличенк

#14:  Author: LuisFigo PostPosted: 26 Oct 2007 09:04
    —
я везде делаю DOS-печать через PrintBest.exe. В терминале просто зашариваешь папку, и все летает.

#15:  Author: volk PostPosted: 07 Nov 2007 14:18
    —
LuisFigo wrote:
я везде делаю DOS-печать через PrintBest.exe. В терминале просто зашариваешь папку, и все летает.

а можно подробнее про этот метод, я просто новичо

#16:  Author: LuisFigo PostPosted: 12 Nov 2007 17:30
    —
PrintBest.exe - прога для винпечати из дос-приложений. Конкретно заточена под БЭСТ. Умеет вписывать документ в ширину листа без каких-либо телодвижений со стороны юзера, дает возможность указать ориентацию страницы, дает возможность вписать документ в длину листа. Печать из БЭСТа идет по Shift+F9.
Если захочешь пробовать, вышлю и объясню подробно.
У меня так работают все, довольны.

#17:  Author: volk PostPosted: 12 Nov 2007 21:44
    —
LuisFigo wrote:
PrintBest.exe - прога для винпечати из дос-приложений. Конкретно заточена под БЭСТ. Умеет вписывать документ в ширину листа без каких-либо телодвижений со стороны юзера, дает возможность указать ориентацию страницы, дает возможность вписать документ в длину листа. Печать из БЭСТа идет по Shift+F9.
Если захочешь пробовать, вышлю и объясню подробно.
У меня так работают все, довольны.

спасибо, я скачал программу, только не совсем понятно где прописывать ее в БЭСТЕ, потому что когда я печатаю, то выдает кракозябры..шрифты не могу найти принтер HP 2015n. p.s. буду благодарен, если объяснишь как и ч

#18:  Author: LuisFigo PostPosted: 13 Nov 2007 07:49
    —
В БЭСТе:
Настройка -> Настройка предприятия -> Настройка -> Техническая настройка рабочей станции -> Тип принтера:=07, Ширина каретки:=Произвольная, 300, Программа печати для Windows:=Сервер печати ( BestPrn ), Путь к файлу обмена:=c:\prnsrv\

Вот тут необходимо указывать папку, которая содержит ту папку, которая указана в PrintBest в качестве каталога для поступающих.
Например,
c:\prnsrv\tmp - в PrintBest
c:\prnsrv\ - в БЭСТ

папка c:\prnsrv на момент настройки БЭСТа должна уже существовать.
в ней должен быть файл plateg.dbf

300 - эмпирический параметр из моего опыта. В ширину листа будут автоматом вписываться документы шириной до 300 символов.

У доброго человека - автора утилиты не все релизы одинаково полезны. Самый безглючный - 2.2.13.112. Увы, его исходники автор давно потерял.
Бывает, что-то переклинивает и в очередь печати становятся сотни пустых листов. Какое именно сочетание драйверов, принтера, документа для этого нужно, я не выявил. Благо, случается это очень-очень редко.

Крайне желательно принтер для printbest сделать попроще. Снизить разрешение до 300 dpi, убрать все рюшечки - RET, передачу полутонов, true type посылать как растр. Это сильно влияет на скорость печати. Зачастую для этого треубется заменить родной драйвер на другой (или создать в системе еще один принтер). Отлично подходит виндовые дрова от HP5L. Если не походят, бери HP1100, 1200.

При работе в сети и особенно в терминале следует учитывать процесс обработки документа:
1. передача txt-файла из БЭСТа в папку обмена
2. обработка файла утилитой
3. передача подготовленного к печати документа из утилиты на принтер.

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

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

Крайне желательно определить переменные Terminal.
Желательно периодически очищать plateg.dbf, ибо большой его размер приводит снижению скорости печати.
Лучший всего заменять его на пустую копию при каждом старте из запускного батника:

Code:
copy c:\PrnSrv\BESTPRN\plateg.bak c:\PrnSrv\BESTPRN\plateg.dbf /y
start PrintBEST.exe


Утилита имеет баг: при завершении работы WinХР, 2000, 2003 (перезагрузке, завершении сеанса) она выгружается, но прерывает процесс завершения работы. Методов решения проблемы я не знаю. Просто нужно выключаться еще раз. Неудобство небольшое, плюсы выше.

В некоторых случаях (закономерностей я не выявил) при автозагрузке утилиты в WinXP, она неверно определяет операционку как Win98. Указано это в строке заголовка, должно быть "NT code". Это может приводить к ошибкам печати. Происходит это, видимо, из-за того, что утилита загружается раньше каких-то библиотек. Нормальный метод решения мне неизвестен, поэтому применяю симптоматичный - задерживаю автозагрузку копированием 10-100 MB какой-нибудь ерунды:
Code:

copy c:\temp\arc\*.cab c:\temp /y
start PrintBEST.exe


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

#19:  Author: volk PostPosted: 15 Nov 2007 21:15
    —
я все так и сделал, принтер печатает без проблем, только всякие крякозябры.. ( может надо установить шрифты из папки lazer или еще что-то

#20:  Author: LuisFigo PostPosted: 16 Nov 2007 14:06
    —
должна в printbest стоять галка "Входящие файлы в dos-кодировке"
в Бэсте "Вывод в формате windows" должен быть "нет".
У тебя что-то не так стои

#21:  Author: volk PostPosted: 16 Nov 2007 14:51
    —
LuisFigo wrote:
должна в printbest стоять галка "Входящие файлы в dos-кодировке"
в Бэсте "Вывод в формате windows" должен быть "нет".
У тебя что-то не так стоит.

вроде все это стоит, то есть не нужно загружать шрифты в принтер, если стоит PrintBest, я правильно понимаю ?

#22:  Author: LuisFigo PostPosted: 16 Nov 2007 16:12
    —
извини, конечно, но я встречался с таким....
ты точно нажимаешь Shift+F9?

#23:  Author: volk PostPosted: 16 Nov 2007 22:01
    —
LuisFigo wrote:
извини, конечно, но я встречался с таким....
ты точно нажимаешь Shift+F9?

совсем забыл сказать, когда я нажимаю шифт+F9, то пишет ошибку "не настроен генератор отчетов Windows"..поэтому я и печатаю через F9

#24:  Author: Дениска PostPosted: 17 Nov 2007 09:17
    —
LuisFigo, а если использовать не printbest, БэстПрн? Там какие подводные камни будут?

#25:  Author: LuisFigo PostPosted: 17 Nov 2007 15:11
    —
если ты нажимаешь F9, печать идет напрямую в порт принтера, а не через prinbest. Ничего удивительного в кракозябрах нет.

если по Shift+F9 БЭСТ пишет тебе про генератор отчетов, значит у тебя в настройке не указано:
Программа печати для Windows:=Сервер печати ( BestPrn )
и/или правильный
Путь к файлу обмена.

я ж все подробно расписал...

Давай скрин "Технической настройки рабочей станции" и
пути, куда установлен printbest, где там \tmp, \old и plateg.dbf
иначе мы будем еще год разбираться.

to Дениска
Не вижу никакого смысла использовать бэстпрн. Делает то же, что и printbest, только хуже.

#26:  Author: volk PostPosted: 17 Nov 2007 21:19
    —
LuisFigo wrote:
если ты нажимаешь F9, печать идет напрямую в порт принтера, а не через prinbest. Ничего удивительного в кракозябрах нет.

если по Shift+F9 БЭСТ пишет тебе про генератор отчетов, значит у тебя в настройке не указано:
Программа печати для Windows:=Сервер печати ( BestPrn )
и/или правильный
Путь к файлу обмена.

я ж все подробно расписал...

Давай скрин "Технической настройки рабочей станции" и
пути, куда установлен printbest, где там \tmp, \old и plateg.dbf
иначе мы будем еще год разбираться.

to Дениска
Не вижу никакого смысла использовать бэстпрн. Делает то же, что и printbest, только хуже.

в настройках теминала я указал сервер печати bestPrn. потом я создал папку prnsrv и папку temp и перенес туда plateg.dbf, только в БЭСТе когда я пишу путь к обмену файлов С:\prnsrv\, то выдает что путь неправильно указан..бред короче в понедельник я поеду на работу и попробую все исправить, если что я Вам напишу сюда. p.s. сорри за неудобства



-> Технический форум БЭСТ-4


output generated using printer-friendly topic mod. All times are GMT + 4 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group