Hace no mucho me llegó un PDF a través de una página Web. Con esto de que Firefox ya integra lector con pdf.js pues curiosamente se veía bien en el navegador, pero a la hora de imprimir deja mucho que desear, pues rasteriza cada página para imprimirlo como si fuera una imagen.
Sí, quizás sea un poco «extremo», pero las fuentes no se terminan de ver bien. Y menos si imprimes en una láser, donde la definición del texto es extremadamente clara. La solución sería irse a tu lector de PDF habitual, pero, ¡Sorpresa!, el archivo estaba corrupto. Ni siquiera el Adobe Reader que hay para Linux lo arreglaba*¹, así que me tocó buscar.
En definitiva, para encontrar la solución busqué por internet y leí que pdftk (PDF toolkit) podía reparar el error al leer la tabla xref, que era lo que me pasaba, pero no hubo suerte. Por casualidad, ví también que había un lector con motor propio que no dependía de ghostscript (el motor de Evince, Okular y casi todos los programas para leer pdf’s en Linux). Bueno, pues este programa es MuPDF.
Podemos instalarlo a través de un PPA:
sudo add-apt-repository ppa:guilhem-fr/mupdf
sudo apt-get update
sudo apt-get install MuPDF
Es demasiado sencillo (y ligero) hasta tal punto que las opciones que soporta (como buscar texto) tienes que hacerlo con teclas. Eso sí, no soporta impresión, lo cual es bastante desalentador para mi necesidad.
La opción alternativa para imprimir el dichoso pdf es usar la consola. Las herramientas de Ghostscript*² permiten conversión entre formatos PDF y PS (PostScript). Mi solución fue:
pdf2ps archivoestropeado.pdf #Crea un ps del mismo nombre
ps2pdf archivoestropeado.ps #Sobreesceribirá al pdf corrupto
De esta forma tenemos un PDF vectorial apto para imprimir. Eso sí, las fuentes han sido convertidas a vectores, así que si el tamaño aumenta, que no os extrañe.
*¹ Que sí, que sí, que es verdad, que no me he inventado que Adobe tiene un lector de PDF (propietario) para Linux.
*² No preguntes por qué, yo no me lo explico.
Enlaces | UsemosLinux(DesdeLinux) | MuPDF