Mostrando entradas con la etiqueta imprimir. Mostrar todas las entradas
Mostrando entradas con la etiqueta imprimir. Mostrar todas las entradas

miércoles, 5 de junio de 2024

IMPRIMIR ETIQUETAS EN IMPRESORA TERMICA USANDO PHP - TSC

Codigo para imprimir etiquetas en impresora termica TSC multiples grupos usando PHP


  


         <?php

$page = $_SERVER['PHP_SELF'];
$sec = "1";
header("Refresh: $sec; url=$page");

//$handle = fopen("PPP", "w+");
//Sergio Zegarra


$fecha = date('Y-m-d H:i:s');
sleep(1);
$a = rand(0, 9);
echo "CODIGO IMPRESO: ".strtotime($fecha);

if(($handle = @fopen("\\\\127.0.0.1\\termi", "w+")) === FALSE){
        die('No se puedo Imprimir, Verifique su conexion con el Terminal');
    }
   
fwrite($handle, "SIZE 94 mm,40 mm". PHP_EOL);
//fwrite($handle, "AUTODETECT". PHP_EOL);
//fwrite($handle, "GAP 2.5 mm,0 mm". PHP_EOL);
fwrite($handle, "SPEED 4". PHP_EOL);
fwrite($handle, "DENSITY 4". PHP_EOL);
fwrite($handle, "DIRECTION 0". PHP_EOL);
fwrite($handle, "CLS". PHP_EOL);
fwrite($handle, 'TEXT 10,10,"9",90,1,1,"Universidad de Leyes Divinas"'. PHP_EOL);
//fwrite($handle, "REVERSE 0,5,760,300". PHP_EOL);


fwrite($handle, 'TEXT 220,10, "2",90,1,1, "UNIVERSIDAD DE LEYES"'. PHP_EOL);
fwrite($handle, 'TEXT 190,10, "2",90,1,1, "       DIVINAS"'. PHP_EOL);

fwrite($handle, 'BARCODE 160,27, "128",80,2,90,2,2, "'.strtotime($fecha).$a.'"'. PHP_EOL);
fwrite($handle, 'TEXT 44,20, "1",90,1,1, "  CODIGO PARA CERTIFICADO"'. PHP_EOL);
fwrite($handle, 'TEXT 24,10, "2",90,1,1, " Informes: 989007909"'. PHP_EOL);


fwrite($handle, 'TEXT 480,10, "2",90,1,1, "UNIVERSIDAD DE LEYES"'. PHP_EOL);
fwrite($handle, 'TEXT 450,10, "2",90,1,1, "       DIVINAS"'. PHP_EOL);
fwrite($handle, 'BARCODE 420,27, "128",80,2,90,2,2, "'.strtotime($fecha).$a.'"'. PHP_EOL);
fwrite($handle, 'TEXT 305,20, "1",90,1,1, "  CODIGO PARA CERTIFICADO"'. PHP_EOL);
fwrite($handle, 'TEXT 285,10, "2",90,1,1, " Informes: 98900909"'. PHP_EOL);


fwrite($handle, 'TEXT 740,10, "2",90,1,1, "UNIVERSIDAD DE LEYES"'. PHP_EOL);
fwrite($handle, 'TEXT 715,10, "2",90,1,1, "       DIVINAS"'. PHP_EOL);
fwrite($handle, 'BARCODE 690,27, "128",80,2,90,2,2, "'.strtotime($fecha).$a.'"'. PHP_EOL);
fwrite($handle, 'TEXT 575,20, "1",90,1,1, "  CODIGO PARA CERTIFICADO"'. PHP_EOL);
fwrite($handle, 'TEXT 555,10, "2",90,1,1, " Informes: 989100909"'. PHP_EOL);



fwrite($handle, "PRINT 1". PHP_EOL);
fclose($handle); // cierra el fichero PRN
//$salida = exec('copy PPP LPT1'); //lpr->puerto impresora, imprimir archivo PRN


?>


https://www.editpad.org/?edit-id=pBcaYkRYLPeb3fc78e 

viernes, 20 de noviembre de 2015

IMPRIMIR TICKET EN PUERTO PARALELO - TERMICA - MATRICIAL - FISCAL

Para los que aun tengan problemas y quieran imprimir con su impresora "antigua" en el puerto paralelo...

Aquí un ejemplo:




Vamos a crear un ‘buffer’ de contenido a partir de un fichero PRN.

$handle = fopen(”PRN”, “w”); // note 1

A partir de ahora escribiremos sobre $handler nuestro ticket, para a posteriori imprimir ese fichero.
Comandos útiles:

fwrite($handle,chr(27). chr(64));  //->Reinicializa la impresion, 
esto hay que hacerlo siempre al inicio.

Alineación:
fwrite($handle, chr(27). chr(97). chr(0)); //->Izquierda
fwrite($handle, chr(27). chr(97). chr(1)); //->Centro
fwrite($handle, chr(27). chr(97). chr(2)); //->Derecha

Este comando es bastante importante, ya que por ejemplo, en las alineaciones de múltiples palabras en una misma linea, por ejemplo para hacer una columna en centro y otra en derecha, si no hay un limpiado de buffer no funciona.

fwrite($handle, chr(27). chr(100). chr(N)); //-> Limpia el buffer, 
y salta N lineas, poner numero de saltos en la ‘N’, admite un 0.



Para cerrar el ‘PRN’ y imprimirlo, como explicamos en anteriores entradas:

fclose($handle); // cierra el fichero PRN
$salida = shell_exec(’lpr PRN’); //lpr->puerto impresora, imprimir archivo PRN


Básicamente con la combinación de estos comandos y sabiendo que “fwrite($handle, ‘Hola’);” es válido para escribir una frase en el ticket,creo que ya no tendréis problemas con ello.


Fuente: http://blog.controlzeta.net/?p=57


http://jsjconsultores.com


miércoles, 21 de septiembre de 2011

IMPRIMISION DE TICKET EN IMPRESORA FISCAL EN LINUX DESDE PUERTO USB

Como ya les había comentado en entradas anteriores de como poder imprimir los comando ESC/POS en windows, e seguido investigando la misma solución en LINUX, ya que por este ultimo inconveniente aun mis clientes usan windows para poder imprimir los tickets  (con la velocidad de la impresora, y las fuentes de la misma, NO COMO IMAGEN en la cual se demora un monto y las letras salen muy feas), yo manejo alrededor de 14 clientes los dias domingos y los demas dias seran unos 3 a 4, incluyendo impresoras TERMICAS que son similares a las FISCALES  o de IMPACTO....

Pero volviendo al tema sufri mucho en encontrar la forma en la cual se pueda imprimir esos mismos comandos en linux, la idea es lo mismo (en WIndows pasaba los textos a la consola (MS_DOS) y luego los enviava al puerto deseado, ahora en linux es igual lo envio a su consola o mejor dicho creamos un BASH [mas adelante]).

Aqui les dejo la primera linea de comando para que lo puedan estudiar, ampliar e implementar, y despues lo publiquen...

seregio@seregio-desktop:$ echo -e "hola todo esta muy bien por aqui en la casa del Señor \n \n \n para poder imprimier de una forma faciel \n \n en estas impresoras hay que sufrir mucho \n \n \n \n  \x1D\x56\x1" > /dev/usb/lp0 ;









Espero sus comentarios y/o sugerencias ya que tambien para mi es un principio el hacer esto.




http://tareasyclases.com [beta]

viernes, 25 de marzo de 2011

IMPRIMIR TICKET EN IMPRESORA FISCAL - TIQUETERRA CON PHP - PASO A PASO - LADO DEL CLIENTE

-- imprimir impresora tickets php - comandos esc / pos - punto de venta  --

Vamos paso a paso amigos:



Y ahora vamos con el lado del cliente que recibe.

En nuestro caso el servidor realiza el proceso de registro a travez de AJAX lo cual el proceso de registro nos devuelve la respuesta:

mediante jquery registro un nombre:

digamos que el input del form se llama txt_nom < - input id="txt_nom" type="text" - />

entonces con jquery lo rescatamos asi:

var nom = $("#txt_nom").val();

ahora este valor lo vamos a pasar a la pagina que procesa el registro, que se llama guarda.php


1
2
3
4
5
<script>
var nom = $("#txt_nom").val();
    $.POST("guarda.php",{nom:nom},function(datos_retorno){
        //aqui resivo si es ok o error
    })
</script>

Ahora vemos el contenido de la pagina guarda



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/** pagina guarda.php */

//recibo los parametros

$nom = $_POST["nom"];

$r = $objd->query("insert into tbl_reg (nombre) values ('$nom')");

    if($r)
        echo "ok";
        else
            echo "error";

?>


Ahora mas completo el script de aariba


1
2
3
4
5
6
7
8
9
10
<script>
    $.POST("guarda.php",{nom:nom},function(datos_retorno){
        //aqui resivo si es ok o error

        if(datos_retorno==true){
            $.post("http://localhost/tosch/reporte/prueba.php",{datos:"pasas algo"});
        }else
            alert("no se registro");
    })
</script>


Ahora vemos que nuestro servidor esta invocando a la pagina que esta en nuestra pc, por eso el HTTP://LOCALHOST

y la pagina prueba.php esta esto


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
/**
 * @author ZEGARRA CORNE, Sergio
 * @copyright 2009
 */


if(($handle = @fopen("COM5", "w")) === FALSE){
        die('No se puedo Imprimir, Verifique su conexion con el Terminal');
    }

$dato = $_POST['datos'];  

fwrite($handle,chr(27). chr(64));//reinicio

//fwrite($handle, chr(27). chr(112). chr(48));//ABRIR EL CAJON
fwrite($handle, chr(27). chr(100). chr(0));//salto de linea VACIO
fwrite($handle, chr(27). chr(33). chr(8));//negrita
fwrite($handle, chr(27). chr(97). chr(1));//centrado
fwrite($handle,"=================================");
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(32). chr(3));//ESTACIO ENTRE LETRAS
fwrite($handle,"I. C. M. EL APOSENTO ALTO ");
fwrite($handle, chr(27). chr(32). chr(0));//ESTACIO ENTRE LETRAS
fwrite($handle, chr(27). chr(100). chr(0));//salto de linea VACIO
fwrite($handle, chr(27). chr(33). chr(8));//negrita
fwrite($handle, chr(27). chr(100). chr(0));//salto de linea VACIO
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"Nacimos de Nuevo para ser grandes");
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"=================================");
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"PALABRA A IMPRIMIT: ".$dato);


fclose($handle); // cierra el fichero PRN
$salida = shell_exec('lpr COM5'); //lpr->puerto impresora, imprimir archivo PRN
?>


RECUERDEN QUE ESTA PAGINA prueba.php SE ESTA EJECUTANDO EN LA PC LOCAL, en mi caso en el DISTRITO DE ATE VITARTE, PUENTE PIEDRA, ETC.....

ESPERO QUE CON ESTO ESTE MAS CLARA LA SOLUCIÓN A SUS PROBLEMAS, y si no es así podemos ponernos en contacto, claro, siempre y cuando estén cerca, por el momento estoy  ocupado, ya que estoy en mi VI CICLO de la IDAT y tan dejando mucha tarea, pero si aun le quedan mas dudas tratare de ralizar un video paso a paso.

Su amigo para servirles Sergio Zegarra

Para los que impriman en Puerto Paralelo
http://sergiozegarracorne.blogspot.pe/2015/11/imprimir-ticket-en-puerto-paralelo.html


http://www.jsjconsultores.com/


viernes, 4 de junio de 2010

IMPRIMIR EN IMPRESORA FISCAL (ticket, boleta, factura, contometro) DESDE PHP



Bueno investigando encontre que en PHP se puede crear un archivo de texto (digamos un block de notas) que luego hago un llamado al shell_exec y ahi le paso el archivo creado, el cual este mismo lo imprime por el puerto deseado, un ejemplo de como imprimir en una IMPRESORA FISCAL O TIQUETERA en php es:



<?php

/** http://www.jsjconsultores.com/
* @author ZEGARRA CORNE, Sergio
* @Instituto IDAT
*/
 

$Archivo_q_se_crea = fopen("puerto en el cual se desea imprimir", "w");
$dato = $_POST['videos']; //recibo algunos datos de otra pagina

// aqui comienzo a crear o digamos llenar el archivos con algunos datos
fwrite($Archivo_q_se_crea,"================================="); fwrite($Archivo_q_se_crea,"TITULO"); fwrite($Archivo_q_se_crea,"CANTIDAD"); fwrite($Archivo_q_se_crea,"Nombre".$dato ); fwrite($Archivo_q_se_crea," :: AQUI VAN LOS COMANDOS DE LA IMPRESORA ::");

fwrite($Archivo_q_se_crea," :: ESTO DEPENDE DEL MODELO ::");
fwrite($Archivo_q_se_crea," :: AQUI TAMBIEN PODEMOS PONER EL COMANDO QUE HABRE LA GABETA DE DINERO O EL CAJON ::");
fwrite($Archivo_q_se_crea," Gracias por Comprar en VideosconVida.com");


// ahora cerramos el archivo creado fclose($Archivo_q_se_crea); // cierra el fichero

//y por ultimo mandamos todos los codigos almacenados en el archivo "$Archivo_q_se_crea",(IMPRIMIMOS)

shell_exec('lpr "puerto en el cual se desea imprimir"'); 
?>


Bueno y ese es un ejemplo basico que he encontrado para poder imprimir en PHP
----------------------------------------------------------
 

http://www.jsjconsultores.com/
----------------------------------------------------------