PHP - Imprimir datos en un papel preformateado

 
Vista:

Imprimir datos en un papel preformateado

Publicado por osiris (5 intervenciones) el 16/08/2007 00:11:23
Hola amigos.

Me pidieron en el trabajo hacer el siguiente programa -lo resumo drásticamente-:

Debo cargar los datos en los campos de un formulario html, por ejemplo: Nombre, Edad, Profesión. Luego tengo que colocar en la bandeja de la impresora un papel-formulario donde ya están escritos los títulos de los campos a cargar (rellenar), por ejemplo:

Nombre:___________________ Edad: _______________
Profesión: _______________________________________

Es decir, esto es lo que está impreso en ese papel que por cierto es de tamaño A4.

Mi pregunta es si con PHP y JavaScript lo puedo hacer sin problemas. Lo que tengo que tener en cuenta es que lo que ingrese en el campo del formulario HTML tiene que coincidir perfectamente en los campos del papel-formulario impreso. En la interfas HTML debe haber un botón que diga "Imprimir" y mandar esos datos por impresora.

Bueno, eso es lo que debo hacer.
Alguien puede decirme, brindarme información, o darme al menos los pasos generales o, si es posible, los códigos más importantes que debo utilizar?. Hasta el momento nunca he utilizado funciones PHP y Javascript para imprimir en papel preformateado con estas características.
Por ahora no encontré nada hacerca de esto en la Web.
Les comento que ya tengo desarrollados todos los formularios en HTML, pero ahora tengo que resolver cómo mandar esos datos cargados (mediante campos de textos HTML) a la impresora que contiene en su bandeja ese papel.

Salu2!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Imprimir datos en un papel preformateado

Publicado por Diego Romero (1450 intervenciones) el 16/08/2007 13:10:59
No, no se puede. PHP no maneja hardware, tampoco impresoras. Es imposible que le puedas dar coordenadas a la impresora puesto que ni siquiera puedes acceder a la API de la impresora misma.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Imprimir datos en un papel preformateado

Publicado por osiris (5 intervenciones) el 16/08/2007 15:29:32
Es cierto lo que tu dices. Entonces como última alternativa lo que tendría que hacer es utilizar archivos en PHP. Creo que lo podría hacer de la siguiente manera:
1) Completo los campos en el formulario html.
2) Mando esos datos a un archivo txt utilizando tabuladores, espacios en blanco, y retornos de carro para ir acomodando cada cadena en los lugares donde coincida mas o menos en la ubicación de la hoja a imprimir.
3) Luego imprimo el contenido de ese archivo txt, y si he distribuido bien las cadenas de texto, tendría la impresion deseada en la hoja.

Ahora, eso de ubicar cada cadena de texto en el archivo txt para que coincida con los lugares donde tienen que salir impresos en el papel sería bastante laborioso -no??-. Tendría que hacer varias pruebas con mi impresora hasta obtener los resultados deseados.

¿Alguna otra sugerencia por parte de ustedes?
Me quedó una pregunta: ¿Con JavaScript puedo elegir el tamaño de papel a imprimir?

Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Imprimir datos en un papel preformateado

Publicado por Diego Romero (1450 intervenciones) el 16/08/2007 22:41:44
Me temo que no vas a solucionar nada usando un .txt, en primera porque el formato TXT no contembla tipo de letra alguno por lo tanto no puedes especificar un tamaño de letra, menos aún ubicar el texto en alguna parte.

Por otro lado te advierto que el hecho de que funcione en una impresora no te asegura que funcionará en todas. Cada modelo de impresora tiene su propia resolución, la mía por ejemplo, una Canon BJC-250 es de 400 dpi, pero una más moderna podría tener hasta 1200 dpi, esto quiere decir que si yo pongo una cadena de texto en la posición 150,100 me sale a 2 centímetros a la derecha y 1,5 centímetros hacia abajo en la hoja, pero serán apenas unos milímetros en una impresora con mayor resolución.

Con cualquier otro lenguaje de programación que sí sea capaz de obtener los parámetros de la impresora es trivial hacer el cálculo, pero ni PHP ni JavaScript (hasta donde sé), no cuentan con ese "lujo". El primero porque PHP es un lenguaje que se ejecuta en el servidor (como mucho vas a obtener datos del hardware del servidor web, no de la PC del usuario visitando la página) y el segundo porque por un lado JavaScript es independiente del hardware y además abre la puerta a cualquier brecha de seguridad.

Ahora bien, se me ocurre (y conste que no lo he probado) que podrías usar el formato PDF. Armar un archivo PDF que tenga el mismo tamaño de hoja que el formulario preimpreso que tienes que rellenar y dejar que la impresión la haga el Acrobat Read. Así lo haría yo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Imprimir datos en un papel preformateado

Publicado por israel (9 intervenciones) el 18/09/2007 17:31:22
puedes llenar el formulario de tipo html, despues enviar los datos como variables a un php, desplegarlos en un pagina con el formato que desees y en el evento onload pones una funcion javascript con document.print() para que te imprima en el papel segun formato deseado. yo estoy haciendo eso para un negocio de muebles y funciona.. bien...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Fran
Val: 27
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Imprimir datos en un papel preformateado

Publicado por Fran (8 intervenciones) el 16/09/2019 10:50:37
Ya hace mucho tiempo de este hilo, pero por si alguien acaba aquí, decir que la opción que yo he implementado para esto es generar un PDF con cualquier librería y después imprimir ese pdf.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Imprimir datos en un papel preformateado

Publicado por ENDER GONZALEZ (1 intervención) el 01/04/2020 07:39:24
Muchas Gracias companero, nunca es tarde para comentar, siempre habra alguien buscando esta informacion,
muy agradecido por tu aporte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar