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

martes, 31 de mayo de 2016

IMPRIMIR FACTURA PHP DESDE WINDOWS - CONFIGURACION DE IMPRESORA

Debido a varias preguntas, aqui les voy a horientar como configurar las impresoras termicas/matriciales/fiscales/ticket/vaucher para poder imprimir boletas y/o facturas con los comandos ESC/POS desde PHP en entorno Windows, esta configuracion la he probado en Win XP, Win 7, Win 8 y Win 2003

Bueno aque van los pasos a configurar... si a pesar de estos pasos aun no se entiende... -_- .... tendre que hacer un video tutorial... ahi me escribes solicitandolo...

PASOS

1. Entrar al panel de Control 
 

2. Seleccionar VER DISPOSITIVOS E IMPRESORAS


 3. Le damos click en AGREGAR UNA IMPRESORA


 4. Seleccionamos la opcion de abajo que dice LA IMPRESORA DESEADA NO ESTA EN LA LISTA


5. Seleccionamos AGREGAR UNA IMPRESORA LOCAL O DE RED...


6. Seleccionamos el puerto a usar, en este coso vamos usar el puerto USB, como vemos aparece un cuadro desplegable donde figura la lista de puertos disponibles, en este caso yo tengo el puerto USB001 y USB002, esto significa que se esta usando 2 puertos USB, uno para cada impresora instalada o solo conectada......


7. En este caso seleccionamos el puerto USB001 -- si es que no imprime nada al finalizar hacemos todo este proceso pero con el otro puerto, ejemplo el USB002 -- , seguimos le damos siguiente


8. Ahora vamos a seleccionar el driver a usar, aqui podemos usar los propios driver que bienen con la impresora, pero en este caso vamos a usar los driver genericos, con este driver yo lo he probado en impresoras fiscales o de ticket de las marcas BIXOLON, POS-D, EPSON, START...


9. Seleccionamos el dirver GENERIC / TEXT ONLY


10. Seleccionamos REEMPLAZAR EL CONTROLADOS, esto seria lo mas recomendable


11. Aqui biene una de las partes mas importantes, aqui es donde se ponde el nombre de la impresora, este nombre es al que le vamos a enviar los comandos ESP/POS desde PHP


12. Aqui tenmos que compartir la impresora para que pueda ser imprimida desde PHP, el nombre del recurso compartido no necesariamente tiene que tener el mismo nombre, un ejemplo: si tubiese una impresora epsom lx-300 instala  podriamos ponerle de nombre LX-300 y como recurso compartido GUIAS


13. Y para terminar la configuracion tenemos que probar si todo ha ido bien, si no llegara a imprimir tendriamos que realizar todo de nuevo, como menciona el paso 7


14. Ahora toca indicarle a PHP en donde tiene que imprimir, cambias la linea donde decia: 

if(($handle = @fopen("COM5", "w")) === FALSE){

por

if(($handle = @fopen("\\\\127.0.0.1\\FACTURAS", "w")) === FALSE){ 

Aqui abajo esta el codigo de ejemplo como quedaria listo para imprimir...
 



Aqui le dejo como saber si esta conectado o configurado la impresora 

Presionamos la tecla WINDOWS + R ...o bucamos en el boton inicio ejecutar.. ahora para los que no sabes el numero 127.0.0.1 hace mencion a nuestra pc actual, tambien se puede escribir LOCALHOST claro todo en minuscuas



Y aqui vemos que una ves ingresado a nuestra pc, digamos por la red, vemos la imprera compartida


Bueno espero haberles ayuda con estos pasos, para mayor informacion sigan escribiendo, y para los que viven en Perú y tienes amigos que son contadores, aqui estams desarrollando un Aplicativo Web para la generacion de los archivos digitales PLE v5.0 que exige la SUNAT... esta es la web  


Gracias

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


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/