PHP - Ing. en Sistemas

   
Vista:

Ing. en Sistemas

Publicado por Rafael Serrano (1 intervención) el 24/05/2010 19:44:49
Hola, qué tal?
No sé si alguien se haya topado ya con esta problemilla al que me voy a referir...Y si lo haya resuelto.
Hice un sistema de punto de venta mediante PHP y MySQL; muy sencillo y pequeño...Pero mi "coco" ha sido la impresión de los tickets. La impresora sí imprime de hecho...Es una Epson matricial, como muchas que hemos visto todos, en negocios o tiendas.
El problema reside en que, justo cuando la impresora terminó de imprimir el último caracter de la info del ticket, expulsa mucho papel...Y pareciera que siempre trata de imprimir más o menos una página de tamaño carta, pero expulsa mucho papel y la idea naturalmente es que economice; que no gaste.

No he podido averiguar por qué lo hace...
No sé si esto resida en la forma en que estoy mandando a imprimir, que es mediante el tag "Body" y la siguiente expresión Javascript:

onLoad="window.print()"

La página PHP desde la que llamo a la sentencia anterior es muy pequeña, y me he preocupado porque toda la info del ticket quepa sin problemas en el ancho del papel que maneja este tipo de impresoras. No sé de dónde sale el espacio extra que desperdicia, aún cuando tiene configurado que ahorre papel en este sentido (esto como un parámetro más en su configuración, que le indica que debe de parar en cuanto termina de imprimir).

Ah, pero eso sí...Imprime el número de página....Será por esto?....He buscado pero no consigo ver cómo puedo quitarle ese número de página o footer.

Alguna idea o sugerencia?...

Muchas gracias, de antemano.
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:Ing. en Sistemas

Publicado por Omar Yepez (224 intervenciones) el 25/05/2010 20:50:28
Prueba quitando la cabecera y el pie de pagina con CSS:

<style>
@media print {
#cabecera, #pie {
display: none;
}
}
</style>

Espero te sirva.

Saludos

Omar Yepez
http://www.yepsua.com
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:Ing. en Sistemas

Publicado por Rafael Serrano (3 intervenciones) el 26/05/2010 03:15:45
Gracias por tu respuesta, Omar...Pero verás, no sé exactamente cómo quitar el encabezado y el pie de página, porque según yo no los tengo.
Lo que tengo es un HTML muy, muy simple...Permíteme reproducirlo enseguida...Desde esta página como verás, mando la impresión...Es una ventana muy sencilla; un pop-up, que en cuanto se carga, mando a imprimir y luego cierro en forma automática...Pero no tengo secciones de encabezado o pie de página, de forma explícita...Mira:

<?php
require_once("conexion_bd.inc.php");
require_once("funciones_comunes.inc.php");
?>
<html>
<head>
<title>.</title>
</head>
<body onLoad="window.print(); setTimeout('self.close()',3000)">
<div id="areaToPrint">
<?php
echo "<table border=\"0\" width=\"200\"><tr>";
echo "<td align=\"center\" colspan=\"2\">XXXXXXX<br>";
echo "XXXXXXXXXXXXXX</td></tr>";
echo "<tr><td colspan=\"2\"><hr></td></tr>";
echo "<tr><td colspan=\"2\">Fecha: ".date("d/m/Y")."<br>";
echo "Hora: ".date("H:i:s")."</td></tr>";
echo "<tr><td colspan=\"2\"><hr></td></tr>";
echo obtener_sub_total_venta_impresion();
echo "<tr><td colspan=\"2\"><hr></td></tr>";
echo "<tr><td align=\"right\">Total:</td><td align=\"right\"><strong>$ ".number_format(obtener_total(),2)."</strong></td></tr>";
echo "<tr><td colspan=\"2\"><hr></td></tr>";
echo "<tr><td colspan=\"2\">¡Muchas gracias por su preferencia!<br>";
echo "Hasta pronto.</td></tr></table>";
?>
</div>
</body>
</html>

Si te das cuenta, incluyo 2 archivos al principio, pero son los que contienen las funciones que invoco desde esta página, con el fin de obtener la cuenta y el total que se está cobrando.
Y tengo un "DIV" que se llama "areaToPrint", pero que no he sabido cómo manipular a fin de que sólo eso se imprima y nada más.

A la luz de los comentarios y el material que acabo de exponerte...Qué otro consejo me podrías dar?...

Muchas gracias de antemano.

Saludos.
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