"La Gaceta de Linux...haciendo de Linux algo más divertido!"


Fax virtual para archivos pdf con EFax.com

Por: Mark Nielsen

Traducción al Español por: Susana Hernansanz López
el día 27 de Octubre 2000, para La Gaceta de Linux.


  1. Referencias
  2. Introducción
  3. Conseguir el número del fax
  4. ¿Qué hay en el e-mail?
  5. ¿Qué hacemos con los archivos tiff?
  6. Guiones
  7. Conclusión

Referencias

  1. http://www.informatik.uni-frankfurt.de/~fp/uudeview/Apps/

Introducción

La idea es muy sencilla. Darse de alta en un servicio de fax que te proporciona un número de teléfono y te enviarán todos los faxes mandados a ese número en forma de e-mail. Toma el fax en el e-mail y conviértelo en un archivo pdf en tu servidor web para así poder descargarlo, o quizás volcarlo automáticamente a la impresora.

Esto está muy bien si quieres crear una oficina virtual. Muchos consultores independientes estarán interesados en esto.

Conseguir el número del fax

Ve a efax.com. Es fácil de comprender. Simplemente consigue la cuenta básica gratuita. Creo que hay otros servicios gratuitos de fax por ahí, pero yo he estado buscando intensamente.

¿Qué hay en el e-mail?

El e-mail que recibes contendrá archivos gráficos en formato tiff. Éstos son convertidos a texto en el e-mail. Necesitarás un programa para extraer los archivos tiff del e-mail y convertir esos archivos tiff en forma de texto de vuelta al estado binario.

Una vez que hayas extraído los archivos tiff de los mensajes de correo electrónico puedes hacer con ellos lo que quieras. En este artículo los convertiremos en archivos pdf y los pondremos en un directorio web de fácil descarga.

¿Qué hacemos con los archivos tiff?

Bien, necesitas un programa llamado "uudeview", o algún otro programa que extraiga fácilmente archivos tiff de los mensajes de correo electrónico. Entonces tendrás que convertir los archivos tiff a "postscript". Después habrás de convertir los archivos postscript a archivos pdf. Entonces necesitarás poner los archivos pdf en un directorio web. Aquí hay un ejemplo de cómo hacer esto.
  ### Copia el correo en un archivo temporal. 
cp /var/spool/mail/Username File.mail
  ### Extrae los archivos tiff. 
uudeview File.mail
  ### Asumamos que el archivo tiff es extraído bajo el nombre MyFile.tiff
  ### Conviértelo a postscript
tiff2ps MyFile.tiff > TempFile.ps
  ### Conviértelo a pdf
ps2pdf TempFile.ps TempFile.pdf
  ### muévelo
mv TempFile.pdf /www/docs/pdf/TempFile.pdf 
Así es cómo lo puedes hacer manualmente. Sin embargo, queremos automatizar el proceso. Dos guiones harán esto en la siguiente sección.

Guiones

Estos guiones limpian los archivos temporales. Puede que no quieras eliminar los mensajes de correo electrónico, en cuyo caso alguien tendrás que modificar este guión perl. (versión de texto)
#!/usr/bin/perl

## Asumimos que tienes uudeview instalado. 
## Asumimos que tienes un directorio public_html que tu servidor web ha sido 
## propiamente configurado para ver.

### Este guión perl no está asegurado propiamente dado que es posible elaborar 
### una configuración extraña para el nombre del archivo del fax, que en teoría 
### podría desordenar o echar a perder las líneas de declaración de comandos. Úsalo bajo tu propio riesgo. 


my $User = "Mu_Username";
my $Temp = "/home/$User/Temp/fax";

system "cp /var/spool/mail/$User /home/$User/Temp/";
system "cp /dev/null /var/spool/mail/$User";
system "/usr/bin/uudeview -o -i -d -p /home/$User/tiff/ /home/$User/Temp/fax";
system "cp /dev/null /home/$User/Temp/fax";

my @Old_Pdfs = </home/$User/public_html/pdf/*.pdf>; 
my $No = @Old_Pdfs;

foreach my $File (</home/$User/tiff/*.tif>)
  {
  $No++;
  my $Ps = $File;
  $Ps =~ s/\.tif/\.ps/g;
  $Ps =~ s/tiff/ps/; 
  system "/usr/bin/tiff2ps $File > $Ps";

  ### Si quieres imprimir esto, quita el comentario
  #   system "lpr $Ps";

  my $Pdf = $Ps;
  $Pdf =~ s/\.ps/\.pdf/g;
  system "/usr/bin/ps2pdf $Ps $Pdf";

  ### Bien elige mantener el nombre por defecto del archivo o bien numéralo
#  system "mv $Pdf /home/$User/public_html/pdf/";
  system "mv $Pdf /home/$User/public_html/pdf/$No.pdf";

  system "rm $Ps $File;";
  }
Aquí está el archivo "crontab" que necesitarás. Ejecuta el comando
crontab Crontab
para que sea automatizado.
#!/bin/sh

0,15,30,45 * * * *   /home/UserName/Cron.pl >> /home/UserName/cron_log 2>&1

Conclusión

Esta es una manera muy sencilla de automatizar tu fax virtual y convertirlo en algo fácil de leer. Tener un número de fax virtual es agradable pues te ahorra dinero al no tener que tener un número de teléfono. Todo consultor sin rumbo fijo necesita esto.

Phil Hunter de COLUG fue el primero que me habló de esto hace un año. Él simplemente vuelca los faxes en una impresora. No me era muy útil entonces cuando tenía una oficina y una máquina de fax, pero lo he encontrado muy útil desde que me mudé a California. Mi próximo objetivo es enviar faxes a través de un módem, y entonces podré mandar y recibir faxes cuando no estoy en mi oficina en la "Bay Area", la Zona de la Bahía (San Francisco).


Copyright © 2000, Mark Nielsen
Publicado en el número 58 de la Linux Gazette, Octubre 2000