Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.20;
Скачать: CL | DM;

Вниз

Перенаправить на порт   Найти похожие ветки 

 
eselista   (2005-08-27 00:16) [0]

У кого есть какие идеи или может быть точные решения такой проблемы:
Имеем сетевой принтер (например НР2200, киосера или херох). Есть ИП адрес (пример 169,254,3,15) и порт (пример 9100).
Как привязать его к порту? Например к LPT1, чтобы можно было печатать документы, отправляя их как на локальный принтер?


 
isasa ©   (2005-08-27 11:27) [1]

Сетевой принтер или локальный, его надо устанавливать в системе, и привязавать к конкретному порту. Если порта нет - добавляем(в данном случае - сетевой).
Драйвера сетевых принтеров обычно запрашивают протокол и (если TCP/IP) IP адрес(т.е. добавляют сетевой порт сами).
IP адрес сетевому принтеру назначаем с консоли самого принтера автономно.
Привязывать LPT куда-то ??????????????? зачем?


 
tesseract ©   (2005-08-27 11:42) [2]

>>Например к LPT1, чтобы можно было печатать документы, отправляя их как на локальный принтер?

Из чего печатаем? в Windows 98/NT/2k/XP имеется PortMapper который позволяет это сделать. Такая же фича есть в Novell Client.


 
eselista   (2005-08-29 13:29) [3]

to isasa ©
Чтобы назначить порт для сетевого принтера надо, чтобы у него (у принтера) было netbios имя и имя порта (например: \\hp\d1prn).
Такие принтера видно через сетевое окружение.
Здесь имеем имя принтера hp имя порта d1prn. Что касаемо сетевых принтеров печать осуществляется через их родные TCP порты. К примеру принтер Xerox 4400, 4250, 3450 или печать на HP2200 сетевой. И в системе устанавливается свой порт типа PhaserPort с параметрами IP адрес и номер порта LPR (9100 к примеру). Вот меня и интересует как такой принтер можно привязать к локальному порту в системе. Печать осуществляется под управлением Windows 2000.
net use для таких принтеров не работает. Пожалуйста, предлагаем конструктивные идеи, которые проверено работали, а не простенькие решения для системных администраторов мелких контор. :))


 
tesseract ©   (2005-08-29 15:25) [4]

Значит любим гемморой ОК.

Пишем драйвер принтера, данные которые на него идут и перенаправляем их на другой порт. Только впорос НА ФИГА ?????? Можно подумать печать на удалённый принтер отличается от печати на локальный.

Кое-какая информация доступна на Wasm.ru и RSDN.ru


 
eselista   (2005-08-29 21:55) [5]

to tesseract ©
Можно подумать печать на удалённый принтер отличается от печати на локальный.

А ты попробуй из окна эмуляции доса че нибудь напечатай на такой сетевой принтер, а потом раскажешь чем отличается. :)

С драйвером принтера наверно может и можно, но для меня это сложно. :( Вот такой каламбурчик.


 
Slym ©   (2005-08-30 04:15) [6]

Из окна "доса" легко я шрифты заливаю из "ДОСА"
Переделать в - PrintIt "print me" легко и вызывать из др программы или длл наваять
program RuFonts;

{$R "files.res" "files.rc"}

uses
 Classes,
 Sockets;

var
 s:TResourceStream;
 TCP:TTcpClient;
begin
 TCP:=TTcpClient.Create(nil);
 try
   TCP.RemoteHost:="192.168.1.10";
   TCP.RemotePort:="9100";
   s:=TResourceStream.Create(0,"FNT","FONTS");
   try
     TCP.Connect;
     TCP.SendStream(s);
     TCP.Disconnect;
   finally
     s.Free;
   end;
   s:=TResourceStream.Create(0,"CP","FONTS");
   try
     TCP.Connect;
     TCP.SendStream(s);
     TCP.Disconnect;
   finally
     s.Free;
   end;
 finally
   TCP.Free;
 end;
end.


 
tesseract ©   (2005-08-30 13:34) [7]

>>Из окна "доса" легко я шрифты заливаю из "ДОСА"

Из окна DOS такой не заработает. Только из консоли.


 
ANB ©   (2005-08-30 13:46) [8]


> eselista   (29.08.05 13:29) [3]
- глупый вопрос - как ты собираешься печатать из DOS программы, которая шлет на принтерный порт текст, на нерусифицированном принтере, например струйном ?
Да и не все лазерные поддерживают загрузку русских шрифтов, а те, которые поддерживают, после выключения/включения их сбрасывают.
Нужно уточнить задачу - для чего это нужно.


 
eselista   (2005-08-30 23:47) [9]

to ANB ©
Про шрифты речи не идет. Принтера полностью русифицированы. Если мне надо изменить шрифт, размер, кол-во строк или выбрать положение листа - альбом / портрет, то я использую свою программу совместно с PCL скриптами.
Для печати из программы, которая работает в режиме эмуляции MS-DOS я не могу отправлять данные на печать для этих принтеров.
Например:
если я имею сетевой принтер с нетбиос именем \\print\ttt, то в окне эмуляции ms-dos я на него смогу что-то напечатать, если привяжу его к локальному порту - net use lpt1: \\print\ttt ......
вот теперь я смогу напечатать на этот принтер даже подав команду copy con lpt1
НО! Проблема с сетевыми принтерами, которые не имеют имени, а есть только ип адрес и порт. Они к локальному порту в системе не привязываются никак. Ну надеюсь что объяснил более или менее подробно.

to Slym ©
Мне нужен выход из создавшегося положения такой, чтобы некоторая моя утилита могла-бы сидеть в памяти и при печати на порт к примеру LPT1 перенаправлять все данные на сетевой принтер.
Ну или если есть уже где-то такое решение.


 
Anatoly Podgoretsky ©   (2005-08-30 23:55) [10]

eselista   (27.08.05 00:16)  
Зачем? Это имеет смысл только для старых ДОС программ.
Привязка простая, делается в свойствах принтера. В разных ОС по разному. Или же с помощью консольной команды NET SET


 
Slym ©   (2005-08-31 04:55) [11]

eselista   (30.08.05 23:47) [9]
to Slym ©
Мне нужен выход из создавшегося положения такой, чтобы некоторая моя утилита могла-бы сидеть в памяти и при печати на порт к примеру LPT1 перенаправлять все данные на сетевой принтер.
Ну или если есть уже где-то такое решение.

Тут сложнее... LPT юзается понопольно и задания управляются спулером. Сетевое устройство открыто для записи для всех. Тупым перехватом и пересылкой не обойтись.
(типа "спулер" отлавливать конец страницы и потом только посылать на принтер)
В инете туева хуча исходников драйверов LPT приляпать туда сокет никакого (а может и нет) труда не составит


 
Slym ©   (2005-08-31 04:56) [12]

tesseract ©   (30.08.05 13:34) [7]
Кавычки для того и стоять, чтобы отобразить саркастичный смысл заключеного в них текста.


 
Slym ©   (2005-08-31 04:59) [13]

Кстати... Делаешь принт сервер:
Ставишь нормальный родной драйвер принтера на "сервер", расшариваень его и пользуешь "net use"


 
isasa ©   (2005-08-31 11:32) [14]

В сетевых принтерах(с консооли принтера предусмотрено задание имени принтера). Попробуй внести прямую и обратную запись для принтера на сервере DNS(или WINS) домена. И ищи в браузере сети.


 
isasa ©   (2005-08-31 11:34) [15]

Slym ©   (31.08.05 04:59) [13]
Зачем для сетевого принтера принтсервер, чтобы получить трафик 20KB/s ? Изврат.


 
deamon_t   (2005-08-31 13:52) [16]

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


 
eselista   (2005-09-01 01:22) [17]

to Anatoly Podgoretsky © (30.08.05 23:55) [10]
это что ещё за net set? Не слышал о таком. Поподробнее, пожалуйста, если можно. (W2K)

to Slym © (31.08.05 04:55) [11]
насчёт приляпать к порту сокет идея интересная, но возникает много других вопросов. Впрочем я пожалуй буду работать все-таки в этом направлении. :)

to Slym © (31.08.05 04:59) [13]
принт-сервер конечно простой выход из положения (и геммороидальные шишки не напрягаются), но это ещё одна розетка 220 + торчалка дополнительная сзади принтера + глюки и ограничения самого принт-сервера. Впрочем закажу пожалуй ящик и поставлю в сейф на всякий случай. :)

to isasa © (31.08.05 11:32) [14]
есть такая фича у меня только в одном принтере - kiocera, а х4400 у меня больше полусотни и в них имени не задашь - я там и в меню и в его веб сервере облазил усе. :) И в домене пингуются, а как звать не признаются и не опознаются. :)

to deamon_t
Есть у меня похожая прога, но работает она почему-то только с НР2200 сетевым или любым USB-принтером, а с остальными ну никак.

Вообщем всем спасибо за поддержку! Тема не закрыта и если кому попадется явное решение, буду признателен, но не более того. :)))


 
eselista   (2005-09-02 23:33) [18]

Принт-сервер - тупиковый вариант, т.к. сразу же отпадает возможность двухсторонней печати из вордов. :(


 
tesseract ©   (2005-09-03 18:59) [19]


> Принт-сервер - тупиковый вариант, т.к. сразу же отпадает
> возможность двухсторонней печати из вордов. :(

А у нас ворды под ДОС?????? Ни один уважающей себя принтер через lpt так печатать не будет. Чем тебя portMapper не радует?


 
eselista   (2005-09-04 01:02) [20]

to tesseract ©   (03.09.05 18:59) [19]

Я имею в виду неуважающие себя принтера, которые печатают с любых своих портов (LPT, USB, LAN) и двухсторонне и даже односторонне. :)
Ворды у нас под виндоз :). А некоторые проги работаю в окне доса. ОК? Мою проблему смотри выше в осуждении.

А что подразумевается под portMapper? Поконкретнее пожалуйста, если можно.


 
Anatoly Podgoretsky ©   (2005-09-04 09:10) [21]

eselista   (29.08.05 13:29) [3]
Не обязательно, испортил всех LanMan

eselista   (01.09.05 01:22) [17]
net use имелся в виду, естественно это только для LanMan. Программный эквивалент WNetAddConnection2


 
Плохиш ©   (2005-09-04 11:21) [22]


> eselista   (01.09.05 01:22) [17]
> to Anatoly Podgoretsky © (30.08.05 23:55) [10]
> это что ещё за net set? Не слышал о таком. Поподробнее,
> пожалуйста, если можно.

Вашей конторе пора нанять администратора сети.

PS. Вопрос явно для "Потрепаться"


 
eselista   (2005-09-05 23:33) [23]

У меня назрела идея решения. Имеется ИП принтер. Ставим ещё один фиктивный принтер с теми же дровами, что и у IP принтера на порт LPT1 например. Далее при печати на LPT перекидываем спул на принтер ИП. В связи с этим у меня вопросы:
- кто знает каким образом организована подготовка документа для печати в виндах? (для информации)
- как можно спул отсечь и перекинуть для другого принтера?

to Плохиш ©   (04.09.05 11:21) [22]
Вот как раз таких плохишей и их пустые мессаги и нужно в раздел потрепаться. Чё мозги трепешь, если по теме нет ничего? А администратор сети к твоему сведению это не тоже самое, что системный администратор. :) Ты лучше-бы по моей теме, что-нибудь порекомендовал.


 
isasa ©   (2005-09-06 11:28) [24]

>его веб сервере облазил усе.
Стоп! А веб грузится как?
По IP?
http://<IP принтера>, или все-таки имя.


 
eselista   (2005-09-06 11:38) [25]

to isasa ©   (06.09.05 11:28) [24]

конечно по ИП. А ты думал www.mirosoft.com? :)


 
isasa ©   (2005-09-06 11:53) [26]

А что говорит
nslookup <IP принтера>
и
ping -a <IP принтера>


 
isasa ©   (2005-09-06 21:29) [27]

Сейчас занимаюсь такой-же дребеденью, только на HP4350n и hp4300dtn.

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

Host name - оно,
IP Address
Subnet mask
Gateway
Config by
DHCp server
TFTP server
Config file
Domain name
Primary DNS server
Secondary DNS server
WINS server - даже этот
Web jet admin URL


 
isasa ©   (2005-09-06 21:42) [28]

Сейчас занимаюсь такой-же дребеденью, только на HP4350n и hp4300dtn.

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

Host name - оно,
IP Address
Subnet mask
Gateway
Config by
DHCp server
TFTP server
Config file
Domain name
Primary DNS server
Secondary DNS server
WINS server - даже этот
Web jet admin URL


 
isasa ©   (2005-09-06 21:45) [29]

Сорри за двойную посылку. Сетевые накладки(прокси).


 
eselista   (2005-09-06 23:30) [30]

to isasa ©   (06.09.05 21:29) [27][28][26]

Какой настойчивый. :) Говорю-же нет там ничего! Точно!

- кто знает каким образом организована подготовка документа для печати в виндах? (для информации)
- как можно спул отсечь и перекинуть для другого принтера?


 
eselista   (2005-09-07 00:31) [31]

isasa ©

Если этим же занимаешься могу прислать свой НЗ с краткими пояснениями - может подойдет тебе что.


 
tesseract ©   (2005-09-10 11:36) [32]

>>- кто знает каким образом организована подготовка документа для печати в виндах? (для информации)

Была обратная задача - импортировать из винды в dos.
Решалась так - DOS программа писала файл в который винодвая часть писала текст. DOS потом считывала файл :-)

Можешь попробовать обратный вариант. Из DOS программы печатаем в файл, из Винды его обнаруживаем, обрабатываем, и на принтер.


 
eselista   (2005-09-22 20:17) [33]

Вообщем в 2000 проблема решилась 2 способами:
1. Объединяем принтера в пул. Один сетевой другой ЛПТ. Все. При печати на порт печатает на сетевой.
2. Нарыл утилиту. Писано в VС++. Позволяет перенаправлять. 32 кБайт. В 2К без вопросов, но в 98 глючит - создает огромное количество документов в очереди в 0 кБайт и вылетает с ошибкой.

Все тема закрыта. Решения здесь под АПИ видимо никто не знает.



Страницы: 1 вся ветка

Текущий архив: 2005.11.20;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.052 c
2-1130628576
alyona
2005-10-30 02:29
2005.11.20
фото альбом


2-1130834702
бедный студент
2005-11-01 11:45
2005.11.20
Перетаскивание фигуры


1-1130522541
x.pro
2005-10-28 22:02
2005.11.20
как узнать, на каким комтролом находится курсор?


2-1130643453
gdaujk
2005-10-30 06:37
2005.11.20
TListView с функциональностью TValueListEditor.


8-1120145991
Radgar
2005-06-30 19:39
2005.11.20
Разбивание Timage на секции.