Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: josco en 11 Julio 2012, 22:28 pm



Título: como imprimir un ticket desde el navegador?
Publicado por: josco en 11 Julio 2012, 22:28 pm
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..


Título: Re: como imprimir un ticket desde el navegador?
Publicado por: darkvidhack en 19 Julio 2012, 00:00 am
podrías intentar pasar el contenido a un archivo pdf, el cliente lo descarga y lo imprime ;)

Saludos.


Título: Re: como imprimir un ticket desde el navegador?
Publicado por: josco en 19 Julio 2012, 18:05 pm
bueno ya encntre con java script

Código:


<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:

Código:


<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


Título: Re: como imprimir un ticket desde el navegador?
Publicado por: adrija en 28 Noviembre 2012, 00:08 am
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


Título: Re: como imprimir un ticket desde el navegador?
Publicado por: josco en 30 Noviembre 2012, 05:20 am
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

Código:
<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