Foros del Web » Programando para Internet » PHP »

Corte de papel en php para impresora de punto de venta

Estas en el tema de Corte de papel en php para impresora de punto de venta en el foro de PHP en Foros del Web. Buen día a todos, estuve buscando alguna otra manera de poder cortar el papel de una impresora para punto de venta pero no encontré nada ...
  #1 (permalink)  
Antiguo 15/10/2010, 11:02
 
Fecha de Ingreso: mayo-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 0
Pregunta Corte de papel en php para impresora de punto de venta

Buen día a todos, estuve buscando alguna otra manera de poder cortar el papel de una impresora para punto de venta pero no encontré nada en php (javascript, ajax, lo que pudiese funcionar en una web en php) , lo que encontré esta realizada en .net (si no me equivoco) , y el que pudiese traducirlo a php o darme algunas pistas se lo agradecería re-mucho!

:::::::::::::::::::::::::: :::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::
Existen comandos para el corte de papel,estos son: ESC i (Corte de papel completo.)
Ejecuta el corte de papel y lo deja unido, solamente, por un sitio.
Ejemplo:

PRINT #1 "Hola"; -Imprime texto
PRINT #1 CHR$(&H1B); "d"; CHR$(11); -Avanza 11 líneas
PRINT #1 CHR$(&H1B); "i"; -Ejecuta corte completo

ESC m (Corte de papel parcial.)
Ejecuta el corte de papel y lo deja unido por tres sitios.
Ejemplo:
PRINT #1 "Hola"; -Imprime texto
PRINT #1 CHR$(&H1B); "d"; CHR$(11); -Avanza 11 líneas
PRINT #1 CHR$(&H1B); "m"; -Ejecuta corte parcial

::::::::::::::::: ::::::::::::::::::::::::::::::::::::: ::::::::::::

si conocen de alguna otra forma para realizar el corte de papel me gustaría también saberlo.

:::::::::::: DATOS DE LA IMPRESORA :::::::::::::::::::
Marca : EPSON
Modelo TM U220
M188A

Saludos! y gracias por adelantado.
  #2 (permalink)  
Antiguo 15/10/2010, 11:21
Avatar de egepe  
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 14 años, 4 meses
Puntos: 7
Respuesta: Corte de papel en php para impresora de punto de venta

Tienes que tomar el manual de la impresora para saber cuáles son los comandos para las secuencias de escape Esc y busca el que hace el corte del papel y utiliza System

Saludos
  #3 (permalink)  
Antiguo 15/10/2010, 11:57
 
Fecha de Ingreso: mayo-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 0
Sonrisa Respuesta: Corte de papel en php para impresora de punto de venta

Cita:
Iniciado por egepe Ver Mensaje
Tienes que tomar el manual de la impresora para saber cuáles son los comandos para las secuencias de escape Esc y busca el que hace el corte del papel y utiliza [URL="http://php.net/manual/es/function.system.php"]System[/URL]

Saludos
Que tal egepe, es valida tu respuesta y te la agradesco, pero esos ejemplos que puse al comienzo los saque de la misma empresa EPSON que es el fabricante de la impresora.
pongo el [URL="http://www.epson.com.pe/asp/soporteFaqsRespuesta.asp?idPregunta=1228&idProduct o=C254111"]link[/URL]para que lo checken ..

Saludos!
  #4 (permalink)  
Antiguo 15/10/2010, 12:24
Avatar de egepe  
Fecha de Ingreso: diciembre-2009
Mensajes: 310
Antigüedad: 14 años, 4 meses
Puntos: 7
Respuesta: Corte de papel en php para impresora de punto de venta

Bueno Kelvin utiliza el ESC m como te dice ahí para que hagas el corte de pagina, trata de hace una prueba con el system me supongo que tu duda está en cómo enviar esa secuencia por medio del system. Yo no lo he hecho pero te recomendaría para darte un ejemplo en linux yo crearía un archivito en donde guardo la secuenca ESCm y luego con proceso con un cat: ej cat arch.sh y ese mismo comando es el que colocaría en system('cat arch.sh') trata de hacer la analogía a windows

saludos
  #5 (permalink)  
Antiguo 16/10/2010, 12:50
 
Fecha de Ingreso: mayo-2009
Mensajes: 10
Antigüedad: 14 años, 11 meses
Puntos: 0
Sonrisa Respuesta: Corte de papel en php para impresora de punto de venta

Nuevamente gracias egepe.. cada vez estoy mas serca (creo jeje) ::)
mira lo que estoy haciendo es crear un .txt con nombre prueba donde le mando los comandos del ESC/POS
Código:
$nombre_archivo = 'prueba.txt';
if (is_writable($nombre_archivo)) {
    if (!$gestor = fopen($nombre_archivo, 'w')) {
        echo "No se puede abrir el archivo ($nombre_archivo)";
        exit;
    }
    fwrite($gestor, chr(27) & "!" & chr(11));
    fwrite($gestor,"Titulo");
    fwrite($gestor, chr(27) & "m" & chr(109));
    echo "Éxito, se escribió en el archivo ($nombre_archivo)";
    fclose($gestor);
    shell_exec('prueba.txt com1');
} else {
    echo "El archivo $nombre_archivo no es escribible";
}
hasta aqui estoy verificando si el archivo prueba.txt esta activado en modo escritura para que ingrese los comandos..
por el momento si ingresa la palabra que le puse "Titulo"
ahora estuve probando el comando shell_exec

pero aun así no me manda la impresión..
si encuentras algún error házmelo saber..

Saludos.!
  #6 (permalink)  
Antiguo 07/10/2015, 09:23
 
Fecha de Ingreso: octubre-2015
Ubicación: ciudad juarez
Mensajes: 90
Antigüedad: 8 años, 6 meses
Puntos: 1
Respuesta: Corte de papel en php para impresora de punto de venta

jovenes del foro

tengo una pregunta ver si se puede hacer

tengo un formulario que me evia los datos a un insert y este me muestra un codigo de barras con los datos. ahora biene lo bueno como puedo hacer que se imprima en una impresora zebra
este es el codigo que tengo

Código PHP:
[PHP]<?php
 
$prefijo 
"";
$cod rand(1,999999);
$codigo $cod."".$prefijo;
 
// Including all required classes
require_once('barcodegen/class/BCGFontFile.php');
require_once(
'barcodegen/class/BCGColor.php');
require_once(
'barcodegen/class/BCGDrawing.php');
 
// Including the barcode technology
require_once('barcodegen/class/BCGcode39.barcode.php');
 
// Loading Font
$font = new BCGFontFile('barcodegen/font/Arial.ttf'18);
 
// Don't forget to sanitize user inputs
$text = isset($_GET['text']) ? $_GET['text'] : $codigo;
 
// The arguments are R, G, B for color.
$color_black = new BCGColor(000);
$color_white = new BCGColor(255255255);
 
$drawException null;
try {
    
$code = new BCGcode39();
    
$code->setScale(2); // Resolution
    
$code->setThickness(30); // Thickness
    
$code->setForegroundColor($color_black); // Color of bars
    
$code->setBackgroundColor($color_white); // Color of spaces
    
$code->setFont($font); // Font (or 0)
    
$code->parse($text); // Text
} catch(Exception $exception) {
    
$drawException $exception;
}
 
/* Here is the list of the arguments
1 - Filename (empty : display on screen)
2 - Background color */
$drawing = new BCGDrawing($codigo.'.png'$color_white);
if(
$drawException) {
    
$drawing->drawException($drawException);
} else {
    
$drawing->setBarcode($code);
    
$drawing->draw();
}
 
// Header that says it is an image (remove it if you save the barcode to a file)
/*header('Content-Type: image/png');
header('Content-Disposition: inline; filename="barcode.png"');*/
 
// Draw (or save) the image into PNG format.
$drawing->finish(BCGDrawing::IMG_FORMAT_PNG);
?>

<?php
$estilo 
$_POST['estilo'];
$schedule$_POST['schedule'];
?>
<div class="etiqueta">
    <div class="col-6">
    Estilo: <b><?php echo $estilo?></b><br>
    Schedule: <b><?php echo $schedule?></b><br>
    Fecha: <b><?php echo date("d-m-Y"); ?></b>
    </div>
    <div class="col-5">
        <img src="<?php echo $codigo?>.png"/>
    </div>
</div>
<?php
$conx 
= @mysql_connect("localhost","root","");
if (!
$conx)
{
die(
'could not connect: ' mysql_error());
}

mysql_select_db("eaton"$conx);
$sql="INSERT INTO embobinado (schedule,go,estilo,idtx,statusemb,fechaemb)
VALUES ('$schedule','$_POST[go]','$estilo','$codigo', '$_POST[statusemb]',now())"
;
if (!
mysql_query($sql,$conx))
{
die(
'Error; ' mysql_error());
}
mysql_close($conx);
?>
<html>
<head>
<script language="javaScript" >
    function imprimir() { 
        if ((navigator.appName == Netscape)) { window.print() ; 
        } 
        else { 
            var WebBrowser = 'OBJECT ID=WebBrowser1 WIDTH=0 HEIGHT=0 CLASSID=CLSID8856F961-340A-11D0-A96B-00C04FD705A2OBJECT'; 
            document.body.insertAdjacentHTML('beforeEnd', WebBrowser); WebBrowser1.ExecWB(6, -1); WebBrowser1.outerHTML = ; 
        } 
    } 
    
</script>
</head>
</html>
<?php
echo "<a onClick='imprimir();' href='#'>Imprimir</a>";
[/PHP]


no se como poner la imagen para que vean el codigo de barras

Etiquetas: impresora, punto, ventas
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 04:14.