Necesito desde una aplicacion asp poder imprimir en una impresora del ordendor cliente algunas lineas en modo texto.
Muchas gracias
| |||
Buenas, desde ASP no podrás controlar la impresión. ASP es un lenguaje de servidor, no de cliente. A lo sumo podrás preparar una página con el contenido y más tarde, desde javascript, lanzar la impresión con un simple print()
__________________ Estoy en www.aibarra.net Camino para preguntar: manual -> Google -> FAQs y buscador del foro -> Nuevo Tema. Tan difícil es escribir correctamente? Es más fácil leerlo. Pónselo fácil al que quiera ayudarte. |
| |||
Te recomiendo que generes una página web sin apenas estilo, sin cabecera ni pie de página y sin apenas fotografias y/o imágenes tal y como quieras que salga por la impresora. Recuerda que la impresion se inicia desde el margen superior izquierda. Una vez generada esa página desde el servidor, solo tienes que poner al final de dicha página un código javascript sencillo:
Código:
Una vez leida la página en el cliente, el navegador lanza el cuadro de diálogo de impresión.<script language="javascript"> window.print(); </script> Un saludo |
| |||
Son impresoras de tickets de agujas. Lo que de imprimir con "window.print();" no me sirve ya que me lo hace en modo grafico, y ademas me imprime cabecera y pie de pagina. Si alguien sabe como se puede hacer esto? |
| |||
¿Y modificando la preferencias de impresión en el cuadro de diálogo? Allí puedes seleccionar el modo de impresión y si quieres cabecera (o sea, nombre dela página, etc) y el pie de página (o sea numero de páginas, direccion, etc). Supongo que cuando se instaló la impresora de tickets de agujas en el cliente este tendría su propia configuración. El cuadro de diálogo de impresión es independiente del navegador y es el mismo para todos los programas instalados en el equipo del cliente. Incluso puedes enviar a un archivo la impresión. Veamos para Windows XP: He creado una nueva impresora en modo local, le he dicho que use un puerto FILE y he seleccionado Generica en modo texto Ha salido solo el texto y he podido leer esta misma página en MS-DOS perfectamente. Un saludo |
| |||
Esa es una buena pregunta. Por lo que yo se, siempre y cuando se imprima desde el boton de impresion de la barra de herramientas en IE y tegas debidamente configurado el panel de Impresoras. ![]() |
| ||||
ese tema ya fue tocado aca http://www.forosdelweb.com/f15/impresion-asp-pero-sin-que-imprima-direccion-pagina-361097/
__________________ Manual de ASP Avanzado ;-) |
| |||
Ya, pero sin respuesta ![]() ![]() Para eso recomiendo el programa BrowserBob que te permite crear un navegador IE totalmente personalizado. |
| |||
Buenas, una vez que se lanza la orden de impresión se pierde todo control (desde el lado del desarrollador) y este pasa a manos del usuario. A lo sumo podrías crear un ActiveX que el propio usuario debería aceptar. Desde JavaScript y, por supuesto, desde ASP no puedes controlar la impresión.
__________________ Estoy en www.aibarra.net Camino para preguntar: manual -> Google -> FAQs y buscador del foro -> Nuevo Tema. Tan difícil es escribir correctamente? Es más fácil leerlo. Pónselo fácil al que quiera ayudarte. |
| |||
Respuesta: Impresion en modo texto cita de esta url : http://www.programacion.net/html/comentarios/id=tw_imprimir&obj=escrito&num=2/ "En la página de meadco's scriptx (http://www.meadroid.com/) podéis descargaros una aplicación que al fin consigue desde un input imprimir directamente sin necesidad de confirmación y habiendo configurado opciones de impresión anteriormente. Cada página que se desea imprimir debe contener el siguiente código: ---EN EL HEAD--- function doPrint() { document.all.item("noprint").style.display="none" document.all.item("printtitle").style.display="" // -- advanced features // factory.printing.SetMarginMeasure(2); // measure margins in inches // factory.printing.printer = "HP DeskJet 870C"; // factory.printing.paperSize = "A4"; // factory.printing.paperSource = "Manual feed"; // factory.printing.collate = true; // factory.printing.copies = 2; // factory.printing.SetPageRange(false, 1, 3); // need pages from 1 to 3 // -- basic features // factory.printing.header = ""; // factory.printing.footer = ""; factory.printing.portrait = false; // factory.printing.leftMargin = 1.0; // factory.printing.topMargin = 1.0; // factory.printing.rightMargin = 1.0; // factory.printing.bottomMargin = 1.0; factory.printing.Print(false) document.all.item("noprint").style.display="" document.all.item("printtitle").style.display="non e" } Esta clase, cuando usas una página que contiene el código por primera vez, te pide registrar un activex. Dicho activex nos controla la impresión y sólo deberemos instalarlo una vez por cada equipo. Existen muchas opciones de configuración, a mi sólo me interesaba poder imprimir horizontalmente y sin diálogos de confirmación, pero puedes configurar multitud de opciones. Espero que os sirva, para mí ha sido todo un descubrimiento después de casi 2 semanas buscando una solución para esto." espero te sirva saludos |