FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Enviar una impresión a una impresora de Red
Buenas. Tengo una impresora de red en la LAN. La misma tiene una IP fija.
Quisiera desde mi aplicación Delphi enviar una impresión hacia ella utilizando la dirección IP. Utilizo QReport y Delphi XE5. Gracias. Santiago.
__________________
Uno es responsable de lo que hace y de lo que omite hacer. |
#2
|
||||
|
||||
Si pones un TPrinterDialog, te soluciona parte del trabajo al llamar a PrinterDialog1.Execute().
El usuario elegirá la impresora del desplegable, las opciones de impresión, papel apaisado o no, etc. Por supuesto después tienes que "recoger" esas opciones que ha seleccionado el usuario y asignarlas a tu documento que vas a imprimir, esto se hace asignando esas propiedades a tu qrPrinter del Quickreport. A las bravas, en Delphi tienes la clase TPrinters y el printerindex suele ser el índice de la impresora predeterminada en windows. El objeto global es Printers y puedes recorrerlo para saber las impresoras que hay, como se llaman, etc. Saludos!
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#3
|
||||
|
||||
Cita:
En este caso puntual, el usuario no tiene tiempo de elegir una impresora desde le formulario de impresoras (TPrinterDialog) puesto que le es muy impráctico porque debe hacer la tarea algo rápido. En favor de ello, tiene actualmente una impresora asignada a través de un archivo .ini (local) y él no tiene que andar eligiéndola cada 15 segundos de la lista. La idea era poner en el mismo .ini la dirección IP en lugar del nombre de la impresora actual. Solo que no se como hacer esto. Santiago.
__________________
Uno es responsable de lo que hace y de lo que omite hacer. |
#4
|
||||
|
||||
Para aclarar un poco mas.
La impresora de red está instalada en todas las estaciones. En este lugar me piden que haya un plan de contingencia rápido acerca de impresoras, si se rompe una, la reemplazamos por otra rápidamente. En favor de ello tengo una impresora de red con una IP fija. Si le pasa algo a esa máquina, la reemplazo por otra que tengo lista, le pongo la misma IP fija y listo, sigo sin problemas. El drama es que en este punto Delphi me pide el nombre de la impresora y no una dirección IP. Cuando hago cambios de impresora la segunda tiene que tener otro nombre, ¿o no?, y tendría que reconfigurar todas las estaciones para que impriman en la nueva. La idea es que no sea así, que solamente cambiando la impresora y poniéndole la misma IP fija, todos sigan imprimiendo sin drama. Espero haber sido claro.
__________________
Uno es responsable de lo que hace y de lo que omite hacer. |
#5
|
||||
|
||||
Usar archivos ini en un entorno de red es totalmente arcaico e impractico.
Yo grabaria todo en la BD, y al reemplazar el equipo actualizas la BD. Eso al margen del tema ip Ahora la pregunta es, cuando grabas en el ini, como grabas la información de la impresora? Usando el citado TPrinterDialog? Windows debería manejar correctamente los redireccionamientos Última edición por AgustinOrtu fecha: 13-08-2015 a las 21:35:37. |
#6
|
||||
|
||||
Cita:
En estos momentos estamos haciendo toda un reingeniería para hacer todo eso y mas. Pero de momento hay que solucionar el problema y es lo que estoy buscando. Este sistema está funcionando hace años y para hacer los cambios y "modernizarlo" hay que trabajar bastante en muchas cosas. Así que a veces jugamos de bomberos y apagamos el incendio. Santiago.
__________________
Uno es responsable de lo que hace y de lo que omite hacer. |
#7
|
||||
|
||||
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#8
|
||||
|
||||
En mi modesta opinión estás intentando aplicar una solución en un lugar donde no está el problema. me explico (simplificando mucho).
Un equipo y el software que contiene funciona por capas; Primero está el sistema operativo, luego se instalan programas de caracter general y drivers y por último se instalan aplicaciones como la tuya. Cuando una aplicación como la tuya(capa 3), necesita imprimir, busca las impresoras instaladas con sus drivers (capa 2) y eso acaba enviando una impresión a través de un cable utilizando llamadas al sistema operativo (Capa1). Tu problema se produce en la (capa 2) porque ha cambiado la configuración de la impresora (puerto, IP, drivers,...) e intentas resolverlo en la (capa 3). Tu impresión debe pasar obligatoriamente por las impresoras instaladas. No puedes enviar una impresión a una IP, debes enviarla a una impresora instalada que tendrá una IP. Igual que no puedes enviarla a un puerto distinto o de otro tipo, debes enviarla a una impresora instalada que tendrá un puerto de un tipo u otro configurado. No se si me explico... Lo que quiero decir es que (creo) que lo que debes solucionar es, (1) cómo cambiar la configuración de una impresora instalada (desde tu programa) y luego (2) lanzar la impresión de forma normal, no intentar enviar directamente la impresión a una IP distinta.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#9
|
||||
|
||||
Hola a tod@s.
Igual suelto una tontería pero.... ¿por qué no le pones el mismo nombre a la impresora en todos los puestos y la buscas por su nombre? Le asignas el nombre de la impresora al documento en alguna configuración del programa y a volar. Saludos
__________________
Be water my friend. |
#10
|
||||
|
||||
Hola.
No se si te servirá de ayuda, pero te explico un caso parecido. Tengo un cliente que emite facturas y albaranes muy seguidos y perdia tiempo en seleccionar las impresoras (una para facturas y la otra para albaranes), y a veces se equivocaba. La manera que lo corregí, fué instalando un switch para impresoras y solo tenía que cambiar de botón según lo que quisiera imprimir (las impresoras las tenía al lado del ordenador). En la DB del programa guardaba la la configuración de las dos impresoras y según sea el listado a imprimir se seleccionada una. Ejemplo:
La idea podría ser que teniendo las dos impresoras guardadas en la tabla de configuración, marcases cual sería la que imprimiría por defecto. En el caso que una fallase una, te vas a configuración y marcas la otra. No se si me he explicado bien. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Enviar comandos a la impresora | Minotaure | Impresión | 1 | 16-03-2009 13:03:18 |
Enviar Fax con la impresora virtual | User_Baja_2 | Varios | 0 | 09-10-2008 10:18:20 |
enviar codigos ESC a impresora | JuanHC | Impresión | 7 | 07-03-2007 17:25:30 |
Impresion Directa Ala Impresora | armando | Impresión | 1 | 29-08-2006 23:08:14 |
impresion directa a impresora | e_god | Impresión | 2 | 12-01-2005 20:14:43 |
|