Integrando sinadura en el escritorio Gnome (I)

Ha salido recientemente la versión 2.0 de sinadura, el firmador de PDFs multiplataforma libre, con muchas novedades, entre las que destacan la validación de PDFs firmados, las opciones de firma recursiva, el API de firma, o la posibilidad de ejecutar la aplicación desde la línea de comandos. Esta última característica se puede incorporar en numerosos procesos de scripting.

Una posibilidad de integración sencilla de sinadura 2.0 con el escritorio Gnome se puede hacer a través del paquete nautilus-actions. El paquete nautilus-actions permite definir comandos personalizados que se van a aplicar en el menú contextual del explorador de archivos Nautilus al seleccionar uno o varios archivos o carpetas bajo ciertas condiciones. Para ello utilizaremos un script de shell que será el encargado de la ejecución del comando. En primer lugar, instalamos el paquete nautilus-actions via apt o aptitude (presupongo que nos encontramos en un entorno Ubuntu/Debian Linux con escritorio Gnome).

$ sudo aptitude install nautilus-actions

En Sistema > Preferencias > Configuración de acciones de Nautilus añadimos una acción. Se definen elementos de menú, acciones y condiciones. Los elementos de menú incluyen el nombre con el que aparecerá en el menú contextual o el icono. La acción consiste en la ruta de un programa, en este caso un script de shell, con sus correspondientes parámetros.



La condición va a ser sobre nombres de archivo PDF (aunque la condición se podría hacer sobre un mimetype concreto) y sólo archivos. En condiciones avanzadas se pueden elegir los esquemas de unidades de archivos sobre los que puede funcionar el script.



El script sinadura-console.sh definido en la acción es un wrapper simple de la aplicación en consola de sinadura, reescrito para la ruta y parámetros de la acción de Nautilus. El script es muy simple e invoca otro script incluido en la distribución de sinadura (sinadura-console).

#! /bin/sh
SINADURA_HOME=/home/cesar/local/sinadura
SINADURA_PROP=/home/cesar/local/sinadura/resources/preferences/preferences-sinadura-console.properties
MYDIR=`dirname $1`
MYBASE=`basename $1 .pdf`
(cd $SINADURA_HOME; ./bin/sinadura-console -input $1 -output $MYDIR/$MYBASE-signed.pdf -preferences $SINADURA_PROP)

HINT: Para ejecutar el script en consola hay que configurar correctamente el fichero de preferencias preferences-sinadura-console.properties



De este modo, una vez configurada la ruta de la acción, los argumentos y la condición, al seleccionar un pdf y mostrar el menu contextual con el botón derecho veremos la opción "Firmar con sinadura".




De este modo, al firmar, aparecerá en el mismo directorio un archivo con la extensión "-signed.pdf". Esta pequeña integración es muy cómoda para firmar con un gesto de botón derecho, pero también es verdad que perdemos buena parte de la funcionalidad  de la aplicación si nos limitamos a ella. Otra posibilidad de acción integrada interesante de sinadura en el escritorio es la firma recursiva sobre un conjunto de PDFs a través de los motores de nautilus-actions o a través de nautilus-scripts, que comentaremos otro día.

00

Más entradas de blog

Añadir comentarios