Foros del Web » Programando para Internet » PHP »

Impresiones directas...

Estas en el tema de Impresiones directas... en el foro de PHP en Foros del Web. Hola todos, y espero que me den alguna pista del error que estoy cometiendo.. Les explico el escenario que tengo. En primer lugar, tengo un ...
  #1 (permalink)  
Antiguo 12/04/2016, 10:53
Avatar de wunderwaffen077  
Fecha de Ingreso: marzo-2014
Mensajes: 45
Antigüedad: 10 años, 1 mes
Puntos: 3
Impresiones directas...

Hola todos, y espero que me den alguna pista del error que estoy cometiendo..

Les explico el escenario que tengo.

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, pero no imprime desde el php.

CÓDIGO ABAJO.

Código PHP:
if(($handle = @fopen("\\192.168.0.77\\EPSONLX""w")) === FALSE){
    die(
'No se puedo Imprimir, Verifique su conexion con el Terminal');
}


$datos "Contenido-nido";

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

//fwrite($handle, chr(27). chr(112). chr(48));//ABRIR EL CAJON
fwrite($handlechr(27). chr(100). chr(0));//salto de linea VACIO
fwrite($handlechr(27). chr(33). chr(8));//negrita
fwrite($handlechr(27). chr(97). chr(1));//centrado
fwrite($handle,"=================================");
fwrite($handlechr(27). chr(100). chr(1));//salto de linea
fwrite($handlechr(27). chr(32). chr(3));//ESTACIO ENTRE LETRAS
fwrite($handle," ORDEN No 1005 ");
fwrite($handlechr(27). chr(32). chr(0));//ESTACIO ENTRE LETRAS
fwrite($handlechr(27). chr(100). chr(0));//salto de linea VACIO
fwrite($handlechr(27). chr(33). chr(8));//negrita
fwrite($handlechr(27). chr(100). chr(0));//salto de linea VACIO
fwrite($handlechr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"RESTAURANT LEGENDS SPORTS");
fwrite($handlechr(27). chr(100). chr(1));//salto de linea
fwrite($handle,"=================================");
fwrite($handlechr(27). chr(100). chr(3));//salto de linea
fwrite($handle,"PALABRA A IMPRIMIT: ".$dato);
fwrite($handlechr(27). chr(100). chr(6));//salto de linea
fwrite($handlechr(29). chr(86). chr(1));//corta hoja automaticamente


fclose($handle); // cierra el fichero PRN
$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...
if(($handle = @fopen("\\192.168.0.77\\EPSONLX", "w")) === FALSE)

Alguna sugerencia, en donde esta el error...
  #2 (permalink)  
Antiguo 12/04/2016, 13:10
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Impresiones directas...

Esto no tiene absolutamente nada que ver con PHP, o tal vez si... pero podrías intentar colocar el nombre de la MAQUINA en windows, en vez de la IP, otra forma es colocarle la IP asi
\\\\192.168.1.44\\EPSONLX ussando doble barra, para colocar otra doble barra, y barra simple, para otra siguiente barra simple, de tal manera que leera esto como ---> \\192.168.1.44\EPSONLX

Esas son las opciones

Porque no usas la función PRINTER_OPEN? Aqui tienes un ejemplo

IMPRIMIR FACTURA O TICKET EN MATRICIAL
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 12/04/2016, 13:42
Avatar de wunderwaffen077  
Fecha de Ingreso: marzo-2014
Mensajes: 45
Antigüedad: 10 años, 1 mes
Puntos: 3
Respuesta: Impresiones directas...

Hola,

No funciona ese código ya que mi servidor esta en linux. Y los equipos tanto la que comparte la Impresora como la que acceda a ella están en windou.

  #4 (permalink)  
Antiguo 12/04/2016, 15:21
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Impresiones directas...

Qué código es el que no funciona? Es PHP no distingue entre WINDOWS, MAC o LINUX...
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #5 (permalink)  
Antiguo 12/04/2016, 15:46
Avatar de wunderwaffen077  
Fecha de Ingreso: marzo-2014
Mensajes: 45
Antigüedad: 10 años, 1 mes
Puntos: 3
Respuesta: Impresiones directas...

El código donde se genera el error es el acá:

Código PHP:
if(($handle = @fopen("\\\\192.168.0.77\\EPSONLX""w")) === FALSE

Esa PC:192.168.0.77, esta en Windows, es otro cliente solo ahí se tiene instalado la impresora por defecto.

Y los demás clientes son windows. Los que quieren desean imprimir ejecutando dicho script.

Ahora el servidor si está en Linux.


  #6 (permalink)  
Antiguo 13/04/2016, 06:00
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 15 años, 6 meses
Puntos: 175
Respuesta: Impresiones directas...

Ni siquiera revisaste el enlace que te pase... o si?
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...

Etiquetas: directa, impresion, linux
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:41.