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

4 comentarios:

  1. tienes el código completo de tu archivo prueba.php? ya que me interesa ver como queda al final para imprimir es decir en la instrucción de $salida = shell_exec('lpr \\\\127.0.0.1\\nombreimpresora');
    gracias.

    ResponderEliminar
  2. HOLA AMIGO SOY DE VENEZUELA QUISIERA SABER SI TIENES UNA GUÍA DE COMO USAR LOS COMANDOS ESC/EPSON EN LOS chr() GRACIAS DE ANTEMANO!!

    ResponderEliminar
  3. Hola tienes algun ejemplo de como realizar esto en red... tengo un pqeño sistema que esta alojado en un server y desde mi casa quiero imprimir a mi impresora local... ayudame porfa

    ResponderEliminar
  4. tienes el código completo de tu archivo prueba.php? ya que me interesa ver como queda al final para imprimir es decir en la instrucción de $salida = shell_exec('lpr \\\\127.0.0.1\\nombreimpresora');
    gracias.

    ResponderEliminar