Foros del Web » Programación para mayores de 30 ;) » Programación General »

Imprimir PDF417 con ESC/POS

Estas en el tema de Imprimir PDF417 con ESC/POS en el foro de Programación General en Foros del Web. Estimados estoy un poco complicado y necesito de su ayuda para realizar una impresión de un PDF417 usando ESC/POS. Estoy trabajando en un equipo móvil ...
  #1 (permalink)  
Antiguo 10/04/2013, 07:56
 
Fecha de Ingreso: abril-2013
Mensajes: 1
Antigüedad: 11 años
Puntos: 0
Imprimir PDF417 con ESC/POS

Estimados estoy un poco complicado y necesito de su ayuda para realizar una impresión de un PDF417 usando ESC/POS.

Estoy trabajando en un equipo móvil con linux y manejado con lenguaje PERL, en el cual he conectado una pequeña impresora. A esta le envío algunos comandos de impresión los cuales me reconoce unos y otros simplemente no. Obviamente hay un tema de que mi experiencia en esto es de apenas 2 días y es muy problable que algo esté haciendo mal y no me halla dado cuenta. Es por eso que pongo aquí el codigo que estoy usando para que me ayuden a saber que es lo que estoy haciendo mal y si me pueden ayudar a imprimir el pdf417.

el codigo es el siguiente:

NOTA: En perl el signo # significa que lo siguiente es un comentario (excepto en la primera linea)

______________________________________________

Código PHP:
#!/usr/bin/perl
use Device::SerialPort;
use 
strict;

my $serial Device::SerialPort->new("/dev/ttyUSB0");
$serial->baudrate(9600);
$serial->databits(8);
$serial->stopbits(1);
$serial->parity('none');
$serial->handshake('none');
$serial->read_const_time(100);

my $recv;
my $codigo;
            
$serial->write("\e@");
            
$serial->write("\x1B\x0C");
            
$serial->write("\x1D\x57\x1E\x1E");
            
$serial->write("\n\n\n");
            
$serial->write("\n *****");
            
$serial->write("\x1B\x61\x0");#centrado x2=derecho,x1=centrado x0=izquierda
            
$serial->write("\x1D\x21\x3");#aumenta el tamaño dela letra
            
$serial->write("\x09"); #mueve hacia el siguiente tab


            
$serial->write("\x1B\x2D\x2 COBRADO");#underline
            
$serial->write("\x09"); #mueve hacia el siguiente tab            
            
$serial->write("\x1B\x2D\x0");    #fin de underline        
            
$serial->write("\x1D\x21\x0"); #fin del tamaño de letra aumentada            
            #$serial->write("\x1B\x32");#un espacio
            
$serial->write(" ***** \n");

            
#pdf-417
            
$serial->write("\x1C\x45\x1\x2C\x1\x13");
            
$serial->write("9992245239083");
            
$serial->write("\x00");            

            
$serial->write("\n");            
            
#pdf-417
            #$serial->write("\x1C\x48\x02");
            #$serial->write("999224832");            
            #$serial->write("\x00");

            
$serial->write("\n");
            
#codigo de barra
            
$serial->write("\x1D\x6B\x02");
            
$serial->write("9992245239083");            
            
$serial->write("\x00");
            
            
#intento hacer un recuadro
            
$serial->write("\x1D\x28\x4D\x20\x50\x40\x50");
        
        print 
"OK\n";

            
$serial->write("\n\n\n\n\n\n");


        
getc;

        
$estado 0;
exit(); 
Como pueden ver lo estoy conectado desde el puerto USB a un serial, y la comunicación no tiene problemas ya que logro imprimir, el código de barras que intento hacer también funciona impecable, pero el PDF417 no resulta ya que me imagino que falta algo.

Si me pudieran explicar como realizar un recuadro (un frame) se los agradecería también.

Espero su ayuda chicos, muchas gracias.
  #2 (permalink)  
Antiguo 12/04/2013, 09:19
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Imprimir PDF417 con ESC/POS

Poco tiene esto de específico de UNIX. Moviendo a Programación general.


Saludos.

Etiquetas: linux, unix-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 14:10.