martes, 28 de diciembre de 2010

Crear una impresora para guardar documentos PDF

El proposito de este artículo es crear un sistema que llamaremos “base de datos de documentos” alias BDDOC en donde tendremos una serie de documentos que nosotros insertemos a través de una impresora.
Lo primero que haremos será crear la impresora en LINUX lo haremos de la siguiente forma:
1.- Utilizaremos la impresión de formato LPD y editaremos el fichero: /etc/printcap
2.- Añadiremos las siguientes lineas:
postscript:
:ml#0:
:mx#0:
:sd=/var/spool/lpd/postscript:
:af=/var/spool/lpd/postscript/postscript.acct:
:sh:
:lp=| /home/pdf/pspdf_pool.sh:
:lpd_bounce=true:
:if=/usr/share/printconf/util/mf_wrapper:
Una vez añadidas las lineas, como podemos ver cada vez que imprimamos un fichero se llamará al script que está en: /home/pdf/pspdf_pool.sh de esta forma nosotros transformaremos el contenido que nos venga a PDF, de la siguiente forma:
# cat /home/pdf/pspdf_pool.sh
#!/bin/sh
for i in /var/spool/lpd/postscript/dfA* ; do
ps2pdf $i $i.pdf
cp $i $i.ps
X=`cat /home/pdf/num_pspdf`
X=`expr $X + 1`
mv $i.pdf /home/pdf/pdf/pdf$X.pdf
mv $i.ps /home/pdf/ps/ps$X.ps
pdftotext /home/pdf/pdf/pdf$X.pdf /home/pdf/txt/txt$X.txt
chmod 755 /home/pdf/pdf/pdf$X.pdf
chmod 755 /home/pdf/ps/ps$X.ps
chmod 755 /home/pdf/txt/txt$X.txt
echo $X > /home/pdf/num_pspdf
rm $i
done
for i in /var/spool/lpd/postscript/cfA* ; do
rm $i
done
Como vemos en el script crearemos los siguientes directorios:
# mkdir /home/pdf/pdf
# mkdir /home/pdf/ps
# mkdir /home/pdf/txt
Actualizaremos el contador a 0 de la siguiente forma para que pueda empezar a crear los documentos numerados, de la siguiente forma:
# echo 0 > /home/pdf/num_pspdf
De esta forma ya estamos a punto de empezar a utilizar el servidor de BDDOC.
Seguidamente crearemos una impresora POSTSCRIPT en el cliente (caso de Windows 2000) impresora local a través de un puerto TCP/IP y empezar a enviar documentos a nuestro script.

Visto en:
http://www.zinuz.com/?p=139

No hay comentarios:

Publicar un comentario