Open IT Experts for Enterprise

Zylk empresa de desarrollo de ecommerce

Integrando sinadura en el escritorio Gnome (I)

Cesar Capillas
Cesar Capillas

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.

Si te ha parecido interesante comparte este post en RRS

Facebook
LinkedIn
Telegram
Email

Leer más sobre temas relacionados

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *