como imprimir un ticket desde el navegador?

Iniciado por josco, 11 Julio 2012, 22:28 PM

0 Miembros y 1 Visitante están viendo este tema.

josco

que tal, ando buscando la manera de imprimir un ticket de un sistema de punto de venta creado en php, el problema es que quiero imprimir un ticket desde el cliente no se como hacerle, ya intente con php pero al parecer php solo me va a imprimir desde el servidor, ahora estoy buscandole por el lado de java script pero no encuentro la manera. alguien me podria axuliar?

saludos..

darkvidhack

podrías intentar pasar el contenido a un archivo pdf, el cliente lo descarga y lo imprime ;)

Saludos.
live and let die

la duda es la base de todo conocimiento

josco

#2
bueno ya encntre con java script




<script language="javascript">

 function imprSelec(nombre)

 {
 
 ////////
 var ficha = document.getElementById(nombre);

 var ventimp = window.open(' ', 'popimpr');

 ventimp.document.write( ficha.innerHTML );

 ventimp.document.close();

 ventimp.print( );

 ventimp.close();

 }

</script>



y mi codigo para el ticket:




<style type="text/css" media="print">
#Imprime {
height: auto;
width: 310px;
margin: 0px;
padding: 0px;
float: left;
font-family: Arial, Helvetica, sans-serif;
font-size: 7px;
font-style: normal;
line-height: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
color: #000;
}
@page{
   margin: 0;
}
</style>

<div id="Imprime">
   <?php 
date_default_timezone_set("America/Chihuahua"); 
$fecha date("Y/m/d H:i:s"); 
$idSucursal getSucursal$_SESSION['MM_Username']); //se obtiene la sucursal respecto al usuario que inicio sesion
$totalV 0;
$totalCosto =0;
    $totalImporte=0;

?>

   --------------------------------
   nombre de la tienda<br>
   --------------------------------
   Sucursal: <?php //paramatro recibe ?>   &nbsp;&nbsp;&nbsp;
   Fecha: <?php echo $fecha ?><br>
   Vendedor: <?php  //paramatro recibe ?><br>
   Numero de pedido: <?php //paramatro recibe ?><br>
   Nombre: <?php //paramatro recibe ?><br>
   Direccion: <?php //paramatro recibe ?><br>
   Tel: <?php//paramatro recibe?><br>  
   <table width="200" border="1">
 <tr>
   <td>Descripcion</td>
   <td>P.UNIT</td>
   <td>Importe</td>
 </tr>
   <?php do { ?>
     <tr>
       <td><?php echo $row_ConsultaPedidos['str_descripcion'?></td>
       <td><?php echo $row_ConsultaPedidos['dou_costo'?></td>
       <td><?php echo $row_ConsultaPedidos['dou_importe'?></td>
     </tr>
     <?php 
$totalCosto += $row_ConsultaPedidos['dou_costo'];
$totalImporte += $row_ConsultaPedidos['dou_importe'];
?>

     <tr>
       <?php } while ($row_ConsultaPedidos mysql_fetch_assoc($ConsultaPedidos)); ?>

 <td>Total:</td>
   <td><?php echo $totalCosto?></td>
   <td><?php echo $totalImporte?></td>
 </tr>
 </table>
 <br>
   </div>


   <p><a href="javascript:imprSelec('Imprime')" ><img src="imagenes/printer.png" width="140" height="140" /></a></p>




ahora todo esto me manda a otra pagia, no habra manera de que el ticket se imprima automaticamente sin intervencion del usuario, ya que con este codigo el usuario deve seleccionar la impresora. a y otra cosa me funciona mejor con google chrome ya que a la hora de imprimir me permite quitar los margenes y la fecha y el numero de pagina para imprimir

adrija

Hola
Soy nueva con la impresion de Tickets

me gustaria saber donde coloco la informacion del ticket en un archivo php
ya que hago una consulta a la bd para traer los datos que necesito en el ticket
pero no se como hacer para que impriman
probe con la funcion que colocaste pero no me muestra nada te agradezco en lo que me puedas colaborar

josco

intenta esto solo colocalo en un archivo php y correlo en tu servidor dale click en donde deberia haber una imagen y te llevara a imprimir. hola mundo

te recomiendo hacerlo en google chrome

para la base de datos pues envez de poner echo hola mundo pues pones

echo $el_campo_que_quieres_mostrar

<script language="javascript">

  function imprSelec(nombre)

  {
 
  ////////
  var ficha = document.getElementById(nombre);

  var ventimp = window.open(' ', 'popimpr');

  ventimp.document.write( ficha.innerHTML );

  ventimp.document.close();

  ventimp.print( );

  ventimp.close();

  }

</script>


<style type="text/css" media="print">
#Imprime {
height: auto;
width: 310px;
margin: 0px;
padding: 0px;
float: left;
font-family: Arial, Helvetica, sans-serif;
font-size: 7px;
font-style: normal;
line-height: normal;
font-weight: normal;
font-variant: normal;
text-transform: none;
color: #000;
}
@page{
   margin: 0;
}
</style>

<div id="Imprime">
    --------------------------------
    <td><?php echo 'hola mundo'?></td>
    --------------------------------
  <br>
    </div>


    <p><a href="javascript:imprSelec('Imprime')" ><img src="imagenes/printer.png" width="140" height="140" /></a></p>



saludos