¿A quién no le ha pasado de bajar un documento y, ansioso por leerlo, se ha encontrado con que no podía hacerlo por ser un formato que desconocía? Los archivos CHM[0] son unos de ellos. En esta entrada, voy a dar algunas soluciones prácticas:
Para visualizarlos utilizo GnoCHM[1] (para GTK) o KchmViewer[2] (para Qt). Lo instalamos:
apt-get install gnochm
(es que yo utilizo Gnome :P ).
Ahora, también podemos convertirlos en formato PDF que es más sencillo para la lectura e impresión de los mismos.
Para ello, primero bajamos el paquete chm2pdf en http://code.google.com/p/chm2pdf/ (es un script hecho en python que realiza dicha tarea).
Luego, en la consola instalamos los paquetes necesarios:
apt-get install htmldoc libchm-bin python-beautifulsoap python-chm
(quizás se instalen algunos paquetes extra).
Vamos al directorio donde se encuentra el archivo chm2pdf-0.9.1.tar.gz (o con otros números, si es que liberan seguido las versiones) y:
tar -zxvf chm2pdf-0.9.1.tar.gz
cd chm2pdf-0.9.1
python setup.py install
Ya tenemos instalado el script listo para usarse.
El modo de uso exige siempre que, después de llamada la aplicación, se le pase sí o sí, uno de los tres parámetros:
chm2pdf --book / --webpage / --continuous
donde «book» es para los CHM estructurados (con capítulos, membrete, etc.), «webpage» para los CHM no estructurados (son HTML planos y, en entre cada archivo de los mismos, se coloca una página en blanco en el documento final), y «continuous» que vale tanto para los estructurados y no (y no agrega una página en blanco). De los tres, personalmente, me dio mejor resultado trabajar con --continuous
. ¿Cómo sabemos si un CHM es estructurado o no? no hay forma, salvo que, haciendo uso de --book
te salga el error «ERR002″[3].
Modo de uso:
chm2pdf --continuous --beautifulsoup --links --no-numbered archivo.chm
para mí es el mejor porque crea un PDF limpio, con vínculos dentro del mismo y numera las páginas sólo al pie.
También se puede puede extraer el contenido:
chm2pdf --extract-only archivo.chm
y luego buscando en /tmp/chm2pdf/orig/
.
Para visualizar el manpage o la ayuda:
chm2pdf --help
o, más sencillo, en http://pastebin.com/fcf46c9a ;).
___
Notas:
0. http://es.wikipedia.org/wiki/CHM
1. http://gnochm.sourceforge.net
2. http://www.kchmviewer.net
3. ERR002: Error: no pages generated! (did you remember to use webpage mode?
Something wrong happened when launching htmldoc.
exit value: 256