] > Imprimir con perl - MIRULU INFORMATIZATE
 [+]
 

Imprimir con perl

| PDF| Imprimir |

Un script curioso , escrito por trew. 

 
#!/usr/bin/perl
#
# ITESM Free Printing
#      Escrito por Trew
# - http://trew.icenetx.net
#
# ¿Por qué pagas por algo que podría ser gratis?
# Imprime lo que quieras en cualquier campus del Tec de Monterrey.
##
# El archivo que mandes debe estar en formato postscript.
# Ejemplo de uso:   $ ./itesm_printing.pl 8 archivo.ps
####
use Net::FTP;
if (@ARGV<2) {
print q(Uso: ./itesm_printing.pl <printerID> <file>
Printers' ID:
Cafeteria   - 7
Aulas224   - 8
CyberBN(1-3)   - 32-34
CyberColor   - 36
SalaMaestros    - 22
Profesional   - 19
Other     - 0
);
exit;
}
print q(>> ITESM free printing script
>> Discovered and written by Trew
);
## Variables - Aquí modifica el IP de las impresoras y el nombre de los directorios de impresión.
my $id = @ARGV[0];
my $ip = "10.32.9." . $id;
# En la mayoría de las impresoras el directorio de impresión es PORT1
# en algunas el directorio es lp1, hice este IF rapidamente para que el programa
# sepa que directorio usar dependiendo de la impresora.
my $dir = ($id==32 || $id==33 || $id==34 || $id==19)? "lp1" : "PORT1";
my $file = @ARGV[1];
# En caso de que se quiera imprimir en otra impresora...
if (!$id) {
print "\nPrinter IP Adress: "; $ip = <STDIN>; chop($ip);
print "Printing directory: "; $dir = <STDIN>; chop($dir);
}
print "\n[+] Connecting...\n";
$printer = Net::FTP->new($ip) or die "[-] Cannot reach IP: $@";
print "[+] Trying to login...\n";
$printer->login("ftp","") or die "[-] Couldn't login: ", $printer-message;
$printer->binary or die "[-] Couldn't set binary method: ", $printer-message;
$printer->cwd($dir) or die "[-] Couldn't change to printing dir: ",$printer-message;
print "[+] Everythin ok!!!n";
print "[+] Sending file...n";
$printer->put($file) or die "[-] Couldn't send file: ",$printer-message;
print "[+] File sent... should be printed already\n";
$printer->quit;
print "[+] Done.\n",