• Publicidad

Imprimir con Perl

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Imprimir con Perl

Notapor Rene Serrano » 2009-01-28 10:42 @487

Buen día, compañeros, les comento mi duda.

Tengo que imprimir en un formato ya establecido que mide unos 20x20 cm un par de líneas como especie de encabezado que es un código que se encuentra en un BD de MySQL; el asunto es que tengo imprimir por ejemplo 25 de estos formatos por cada código, entonces no encuentro cómo hacerlo con Perl.

Vi un módulo de ReportWriter pero no sé si es lo que necesito. Tengo pensado algo así:

Código: Seleccionar todo
llamar impresora
     for(x to 25){
       print $codigo
}


Algo así.
Saludos.
------------
¦23n3
Rene Serrano
Perlero nuevo
Perlero nuevo
 
Mensajes: 86
Registrado: 2006-11-27 12:35 @565
Ubicación: El salvador CA

Publicidad

Notapor explorer » 2009-01-28 11:12 @509

A ver... yo creo que lo he entendido así:
Código: Seleccionar todo
* Para todos los códigos de la BD:
    * Imprimir 25 copias. Por cada copia:
      * Posicionar el cursor de impresión
      * Imprimir el texto
      * Pasar la página (sacar el carácter de avance de página)
  * Repetir para todas las copias
* Repetir para todos los códigos

Entonces, ¿cuál es el problema?
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Rene Serrano » 2009-01-28 11:36 @525

Esto cierto lo que decís.
Pero que no encuentro el módulo con cuál hacerlo. Por ejemplo, cómo llamo el impresor, cómo le digo en qué posición tiene que imprimir, saltar a la siguiente página. He buscado algo en CPAN, pero no doy con nada. Si alguien o tu explorer ya te topaste con algo igual me ayudaría mucho.

Saludos.
------------
¦23n3
Rene Serrano
Perlero nuevo
Perlero nuevo
 
Mensajes: 86
Registrado: 2006-11-27 12:35 @565
Ubicación: El salvador CA

Notapor explorer » 2009-01-28 12:57 @581

Es que no se trata de módulos. Primero tienes que resolver las siguientes cuestiones (las primeras que se me ocurren):

* ¿Voy a sacar texto o quiero hacer una salida con texto en forma de gráfico, como si fuera un PDF o con tipos de letras TrueType? No es lo mismo sacar caracteres con un humilde print() por el puerto de imnpresora que a tener que usar un monstruo como Win32::Printer

* ¿Tengo el manual de la impresora? Esto es importante, para saber si tiene un código distinto para indicar el "avance de página", que normalmente es el carácter "\f"

* ¿En qué sistema operativo vas a trabajar? Mientras que en CPAN existe el módulo Printer, hay otros módulos específicos para imprimir.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor explorer » 2009-01-28 14:48 @658

Aquí tienes un ejemplo de uso con el comando lp del Unix:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
open my $printer, "|-", "/usr/bin/lpr"
or die "could not open command lpr: $!";

print $printer "do it\n";

close $printer;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Rene Serrano » 2009-01-28 18:52 @828

Gracias, explorer, te comento que estoy usando el sistema operativo WinXP :s, luego sería una salida directa al impresor, porque pensé hacerlo salida HTML pero no quiero mostrar 25 veces el mismo ya que en HTML usando CSS se puede controlar salto de página, con respecto a la impresora es una epson fx2190 de alimentador de tracción por lo cual tendré que hacer las cosas por lo que vi con Win32::Printer es lo que se asemeja más con lo que quiero hacer, si me dan otra idea pues bienvenida.

Saludos.
------------
¦23n3
Rene Serrano
Perlero nuevo
Perlero nuevo
 
Mensajes: 86
Registrado: 2006-11-27 12:35 @565
Ubicación: El salvador CA

Notapor explorer » 2009-01-28 19:49 @867

Si consistiese en una simple salida de texto crudo hacia la impresora, te valdría con cualquiera de los métodos comentados en esta entrada de PerlMonks.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Notapor Rene Serrano » 2009-01-28 19:54 @871

Gracias, explorer, te lo agradezco. Probaré con estos dos métodos:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
#  1 Impresora Local
open(LPT, ">LPT1");
print LPT "$data\f";
close(LPT);

# Metodo 4 Impresora de red
open(LPT, ">\\printserver\printername");
print LPT "$data\f";
close(LPT);
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
------------
¦23n3
Rene Serrano
Perlero nuevo
Perlero nuevo
 
Mensajes: 86
Registrado: 2006-11-27 12:35 @565
Ubicación: El salvador CA


Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 23 invitados