imprimir en impresora de red
Buen dia,
Disculpen hace un tiempo abri un hilo ( aqui ) acerca de la impresion y las funciones son algo complejas, y pues no me quise quedar con esa espinita que no cortaba el papel y hacerlo por mi mismo, ahora ya corta el papel cuando es la impresora esta local , pero en red no se como asignarle la impresora para mandar a imprimir, si mi impresora es de red o que tal si no esta en el com3 y esta en el com1 o com2 .... Codigo:
ya probe con AssignPrm(F) pero con esto no corta la secuencia ni local ni en red aunque si imprime, si escribo directamente al puerto local (con AssignFile(F. 'COM3')) si corta ... NOTA: Espero no haberlos enredado... saludos |
Hola.
Me da que esa solución solo es viable en impresoras locales porque no creo que puedas acceder al puerto COM de un terminal de la red de esta manera. Para poder acceder a las impresoras en red deberías usar el objeto Printer. Saludos |
Newtron pero entonces como mando la secuencia de corte :( ??
He probado estos ejemplos de codigo y no me sale :( :( :( .. Tengo en el Form 1 listview y 1 memo
jeje son mis ejemplos para imprimir :D .. Saludos Newtron hay forma de saber por medio del nombre de la impresora local en que puerto esta conectada ??? |
A ver....
Te pongo un ejemplo de una utilidad para abrir el cajón portamonedas, el corte de papel es exactamente igual solo poniendo los caracteres correspondientes. Lo he simplificado un poco para que te sea más legible.
Espero que te ayude. Saludos |
Mas simple de lo que parece.
Con este sencillo ejemplo deberia funcionar en Red. Con cualquier tipo de puerto (Usb, Ethernet, LPT, o COM). Yo lo uso hace anos sin ningun problema.
La unica salvedad es que debera estar compartida tu impresora. Y luego usar una asignacion en formato UNC para imprimir. Port := '\\Server\Impresora'; // Server=Nombre del equipo donde se conecta la impresora. Impresora=Nombre de la impresora compartida. Port := '\\Server\Impresora'; AssignFile(MyFile, Port); try Rewrite(MyFile); except ShowMessage( 'Impresora conectada en puerto: ' + Port + '. No funciona.'); end; Write(MyFile, Chr(27) + chr(64)); // reseteo impresora; ... ... Writeln(MyFile, 'Imprimo algo...' ); ... ... Write(MyFile, chr(29) + chr(86)+ chr(49)); // Corta Papel Espero, te sirva. Saludos Jose Miguel Bakulic V. |
GRACIAS NEWTRON , JOSEMIGUELBVS ..
Voy a hacer algunas pruebas :D --- Gracias nuevamente ... |
:( Lamento responder hasta ahorita pero desde el dia de la respuesta ya no tengo donde hacer pruebas de corte de papel, me iban a prestar otra pero no se cuando :( , confio en que sus soluciones que me proporcionaron funcionan .. --- Y regresaba a agradecerles por su ayuda ...
GRACIAS !! En cuanto tenga donde hacer pruebas y heche andar ese codigo les comento ... GRACIAS nuevamente ... :D |
Si lo anterior no sirve, proba un código en CMD primero:
net use LPT1 \\servidor\Okidata /persistent:yes aunque en tu caso debiera resultar esto otro net use COM3 \\servidor\Okidata /persistent:yes Nota: Okidata es el nombre del recurso, es decir, el nombre la impresora. En tu caso debiera ser distinto. |
La franja horaria es GMT +2. Ahora son las 20:39:37. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi