Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: xPapaChox en 14 Abril 2016, 18:28 pm



Título: PHP:Impresiones directas en red-Servidor Linux
Publicado por: xPapaChox en 14 Abril 2016, 18:28 pm
Hola a todos.

Espero que me orienten sobre un tema que lo estoy dando mucha vuelta.


ESCENARIO:
=======
En primer lugar, tengo un servidor web en linux-centos.
En segundo lugar, tengo una PC1 en windows que tiene instalada una impresora, y esta compartida. Usa ip local: 192.168.0.77
En tercer lugar, tengo una PC2 en windows que desea imprimir directamente usando el sistema web.

Nombre de impresora compartida: EPSONLX

*Antes de hacer las pruebas en PC1, hice las siguientes configuraciones:
Ejecute el siguiente código, y sale todo bien.

NET USE LPT1: \\%COMPUTERNAME%\EPSONLX /persistent:yes

*En pc2 si puedo ver la impresora compartida e imprimo desde cualquier parte. Pero no imprime ejecutando desde el PHP.


CÓDIGO ABAJO.
-----------------------------------------------------------------------------------------
Código
  1. if(($handle = @fopen("\\\\192.168.0.77\\EPSONLX", "w")) === FALSE){
  2. die('No se puedo Imprimir, Verifique su conexion con el Terminal');
  3. }
  4.  
  5.  
  6. $datos = "CONTENIDO NIDO";
  7.  
  8. fwrite($handle,chr(27). chr(64));//reinicio
  9.  
  10. //fwrite($handle, chr(27). chr(112). chr(48));//ABRIR EL CAJON
  11. fwrite($handle, chr(27). chr(100). chr(0));//salto de linea VACIO
  12. fwrite($handle, chr(27). chr(33). chr(8));//negrita
  13. fwrite($handle, chr(27). chr(97). chr(1));//centrado
  14. fwrite($handle,"=================================");
  15. fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
  16. fwrite($handle, chr(27). chr(32). chr(3));//ESTACIO ENTRE LETRAS
  17. fwrite($handle," ORDEN No 1005 ");
  18. fwrite($handle, chr(27). chr(32). chr(0));//ESTACIO ENTRE LETRAS
  19. fwrite($handle, chr(27). chr(100). chr(0));//salto de linea VACIO
  20. fwrite($handle, chr(27). chr(33). chr(8));//negrita
  21. fwrite($handle, chr(27). chr(100). chr(0));//salto de linea VACIO
  22. fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
  23. fwrite($handle,"RESTAURANT LEGENDS SPORTS");
  24. fwrite($handle, chr(27). chr(100). chr(1));//salto de linea
  25. fwrite($handle,"=================================");
  26. fwrite($handle, chr(27). chr(100). chr(3));//salto de linea
  27. fwrite($handle,"PALABRA A IMPRIMIT: ".$dato);
  28. fwrite($handle, chr(27). chr(100). chr(6));//salto de linea
  29. fwrite($handle, chr(29). chr(86). chr(1));//corta hoja automaticamente
  30.  
  31.  
  32. fclose($handle); // cierra el fichero PRN
  33. $salida = shell_exec('lpr LPT1'); //lpr->puerto impresora, imprimir archivo PRN
-----------------------------------------------------------------------------------------

Aún cuando ejecuto el código desde la PC1, que es la que comparto la impresora tampoco me manda a imprimir.

Esta es la parte que esta fallando...
Código
  1. if(($handle = @fopen("\\192.168.0.77\\EPSONLX", "w")) === FALSE)[/php]
  2.  
  3. [b]Mod: Obligatorio el uso de etiquetas GeSHi. Temas sobre PHP van al subforo de PHP.[/b]