Nos quedamos sin Adobe Reader en Linux, ¿y ahora qué?

El pasado mes de Septiembre, Adobe nos dio la «mala» noticia de que Linux dejaba de ser una de las plataformas en las que su lector de PDF Reader tuviese soporte. Y lo digo entre comillas porque en el fondo no es tan mala noticia. De hecho, que Adobe elimine una herramienta privativa, sobrecargada y con tantos problemas de seguridad es en realidad una gran noticia para los usuarios Linux. Sobre todo si tenemos en cuenta que contamos con muy buenas alternativas libres como oKular (KDE) o Evince (GNOME).

Es cierto que ninguna de estas opciones cubren el 100% de las capacidades de Reader, como las animaciones o los modelos 3D empotrados, pero eran precisamente estas complejidades las que hacían de Reader una herramienta pesada e insegura. Aún así, hay una característica por la que sí echaríamos de menos a Reader: los formularios. Desgraciadamente, en España se realizan muchísimos trámites administrativos a través de plataformas telemáticas basadas, entre otras cosas, en documentos PDF empotrados en el navegador en los que hay que rellenar una serie de campos. Si Adobe abandona a los usuarios de Linux, ¿qué hacemos ahora para tener acceso a estos servicios públicos a los que tenemos derecho?

Afortunadamente, existe una solución basada en software libre sencilla de echar a andar. Consiste en utilizar el plugin MozPlugger para Firefox y combinarlo con Evince, que ofrece un mejor soporte de los formularios PDF que oKular, de forma que los documentos PDF aparezcan empotrados cuando así lo requiera un sitio web. Como es habitual, daré las instrucciones para Debian y derivadas, aunque son fácilmente adaptables a cualquier otra distribución Linux.

Empezamos instalando el software que necesitamos, es decir, MozPlugger y Evince. En el caso de Squeeze, Jessie y posteriores, ambos paquetes se encuentran en los repositorios oficiales:

# apt-get install mozplugger evince
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
...

Sin embargo, en el caso de Wheezy, la actual estable, no contamos con un paquete oficial, así que tendremos que descargarnos la versión para Squeeze de nuestra arquitectura e instalarla a mano, lo cual funciona sin problemas.

# dpkg -i mozplugger_1.14.1-1_amd64.deb
Seleccionando el paquete mozplugger previamente no seleccionado.
(Leyendo la base de datos ...)
Desempaquetando mozplugger (de mozplugger_1.14.1-1_amd64.deb) ...
Configurando mozplugger (1.14.1-1) ...

Una vez instalados los paquetes necesarios, procedemos a configurar mozplugger para que utilice Evince como su lector de PDF por predeterminado, que dependen de la versión de Debian que tengamos instalada.

En Jessie o posteriores editamos el fichero /etc/mozpluggerrc.d/62-documents.conf y buscamos la sección que se refiere a los documentos PDF:
[code]
application/pdf:pdf:PDF file
application/x-pdf:pdf:PDF file
text/pdf:pdf:PDF file
text/x-pdf:pdf:PDF file
ACROREAD()
repeat noisy swallow(Xpdf) fill needs_xembed: xpdf -g +9000+9000 «$file»
repeat noisy swallow(okular) fill needs_xembed: okular «$file»
repeat noisy swallow(epdfview) fill needs_xembed: epdfview «$file»
GV()
repeat noisy swallow(evince) fill needs_xembed: evince «$file»
[/code]

Entonces insertamos en primera posición una nueva línea referente a Evince para que así se convierta en el lector PDF empotrado predeterminado:
[code]
application/pdf:pdf:PDF file
application/x-pdf:pdf:PDF file
text/pdf:pdf:PDF file
text/x-pdf:pdf:PDF file
repeat noisy swallow(evince) fill: evince «$file»
ACROREAD()
repeat noisy swallow(Xpdf) fill needs_xembed: xpdf -g +9000+9000 «$file»
repeat noisy swallow(okular) fill needs_xembed: okular «$file»
repeat noisy swallow(epdfview) fill needs_xembed: epdfview «$file»
GV()
repeat noisy swallow(evince) fill needs_xembed: evince «$file»
[/code]

Finalmente tenemos que ejecutar un script que traslada los cambios realizados al fichero principal de configuración en /etc/mozpluggerrc:

# /usr/sbin/update-mozpluggerrc
Purging current configuration...
Generating mozpluggerrc...
Merging /etc/mozpluggerrc.d/20-header.conf ...
Merging /etc/mozpluggerrc.d/40-global_defs.conf ...
Merging /etc/mozpluggerrc.d/60-video.conf ...
Merging /etc/mozpluggerrc.d/61-audio.conf ...
Merging /etc/mozpluggerrc.d/62-documents.conf ...
Done.

En el caso de Wheezy y Squeeze lo único que hay que hacer es editar directamente el fichero /etc/mozpluggerrc según las instrucciones anteriores.

Ahora iniciamos Firefox (si ya lo teníamos abierto será necesario cerrarlo y abrirlo de nuevo) y configuramos las opciones de visualización de PDF. En el menú de Firefox, elegimos la opción de Preferencias y seleccionamos la sección de Aplicaciones. En el cuadro de búsqueda introducimos la cadena «pdf» y elegimos «mozplugger» en el desplegable. Tras pulsar en el botón «Cerrar», ya tendremos activo Evince como visor PDF empotrado predeterminado. Para hacer pruebas, podemos elegir cualquier documento PDF que incluya formularios.

preferencias firefox

Cambiando el lector de PDF predeterminado en Firefox

Los usuarios de otros navegadores se habrán dado cuenta que esta solución sólo funciona con Firefox y navegadores compatibles con el API de plugins de Netscape. De hecho, Chrome sustituyó su mecanismo de conexión de plugins hace unas pocas versiones, lo que impide que sus usuarios disfruten no sólo de MozPlugger, sino de otras tecnologías como Java. En este caso, la única solución posible es utilizar Firefox para esos sitios web en los que sea necesario utilizar formularios PDF empotrados.

Para finalizar debo advertir que el soporte de los formularios PDF de Evince no es perfecto y que es muy probable que tarde o temprano nos encontremos con un documento que no podamos rellenar, pero menos da una piedra. Espero que probéis esta receta y que compartáis vuestras impresiones.