Etiquetas

miércoles, 27 de junio de 2012

Convertir pdf a formatos e-book

Los lectores de libros electrónicos -también conocidos como eReaders- son una realidad, inclusive en lugares del globo en donde debemos pagar un poco más por ellos. Mi modesta experiencia me indica que pese a todos los pronósticos y vaticinios apocalípticos sobre la muerte del libro tradicional o "papel", el libro electrónico viene a ser un complemento a ellos.
En esta ocasión pongo a disposición un procedimiento que encontré, luego de bucear un poco en google y hacer mis propias pruebas para convertir archivos pdf por ejemplo revistas electrónicas -pongo como ejemplo la revista brasileña "Espírito Livre" que suelo leer- al formato más amigable para lectores electrónicos, por ejemplo el Kindle de Amazon.

Al buscar un lector de libros electrónicos o e-Books, me preocupó bastante que tuvieran soporte para formato pdf ¿La razón principal? Que muchos de los contenidos que leo vienen en ese formato, por ejemplo la revista brasileña Espírito Livre ( http://www.revista.espiritolivre.org/ ). La misma es en mi opinión una revista muy interesante sobre Linux/GNU, tecnología y cultura libre. Este año viene con algo de atraso en sus ediciones debido a que estuvieron muy activos en la organización de un encuentro o congreso.

Conversión

Yo había intentado leer revistas como Espírito Livre en el celular, pero el tamaño del dispositivo junto con el diseño a dos columnas de la revista complicaba mucho la lectura.
El PDF va bien en computadoras de escritorio, pero en lectores portables como el Kindle u otros dispositivos similares ese formato resulta lento y dificil de leer.
Dicho eso, se hacía imprescindible convertir los PDFs a un formato "amigable" para el eReader, en el caso del Kindle de Amazon ese formato es el "mobi" o mobipocket.
¿Y qué hace falta para lograr una buena conversión? Dos softwares excelentes: calibre (http://www.calibre-ebook.com/) y k2pdfopt (http://www.willus.com/k2pdfopt/). El primero es un gestor completísimo de libros electrónicos de código abierto, mientras que k2pdfopt es un adaptador de pdf a la estructura necesaria para los lectores (eReaders). K2pdfopt hace la magia necesaria para que la conversión sea bastante exitosa. Incluso, en textos con varias columnas -como es el caso de la revista del ejemplo, E.L) k2pdfopt las convierte a un única columna, lo que es indispensable para una lectura ágil en el lector electrónico.

Sinceramente, hasta este momento, no tengo certeza si k2pdfopt es de código abierto, pero en compensación hay binarios disponibles para usar en Linux/GNU, Mac y Windows.

Manos a la obra

1) Hacerse del software:

Para descargar e instalar Calibre, por ejemplo en Debian (hay versiones para Windows, Mac además de Linux /GNU)

Calibre usa intensivamente Python, así que por si acaso es bueno preparar algunas dependencias:

aptitude install python-beautifulsoup python-cherrypy3 python-clientform python-cssutils python-django python-django-tagging python-encutils python-mechanize python-pypdf
Luego, para instalar calibre desde su repositorio oficial:
python -c "import sys; py3 = sys.version_info[0] > 2; u = __import__('urllib.request' if py3 else 'urllib', fromlist=1); exec(u.urlopen('http://status.calibre-ebook.com/linux_installer').read()); main(install_dir='/opt')"
Suele ser recomendable instalar Calibre desde su repositorio oficial porque tendremos una versión más reciente que la disponible en el repositorio de paquetes de nuestra distribución Linux/GNU.
Nótese que al final del mini script python que hace la descarga se puede configurar el directorio en donde se instalará (ej. opt, /usr/local/share). Donde gusten.
Descargar k2pdfopt:
Simplemente descargar desde http://www.willus.com/k2pdfopt/download/ y guardar el binario (ejecutable) en un directorio local (ej. /usr/local/bin) y dar permisos de ejecución.
Ahora, a convertir se ha dicho:

En el directorio local donde tengamos el pdf de la revista o libro ejecutaremos:

k2pdfopt -ui- -col 2 -j 0 -gs -x Revista_EspiritoLivre_036__marco2012.pdf
La opción -col 2 es importante para los documentos diseñados a dos o más columnas, como es Espírito Livre. Eso le indica a k2pdfopt que intente convertir a una única columna.
El comando de arriba producirá un nuevo pdf, de más páginas y mayor tamaño en bytes, pero con un formato adaptado al lector electrónico. Por ejemplo el archivo resultante puede llamarse Revista_EspiritoLivre_036__marco2012_k2opt.pdf.

Calibre entra en escena: Hecha la magia de k2pdfopt, ahora Calibre se encarga de lo que mejor hace. Convertir entre los diversos formatos de archivo y e-books. Se puede usar desde la consola (CLI) o desde su interfaz gráfica (GUI).
Lo más rápido y directo puede ser la GUI. Para convertir sólo hay que añadir el pdf que nos entregó k2pdfopt y seleccionar como archivo de salida a "mobi", y dejar que Calibre haga su trabajo.
Y a disfrutar de Espírito Livre o cualquier otra revista electrónica en el eReader.

3 comentarios:

  1. The -col 2 option should not be necessary--it is the default. Also, -gs should not be necessary unless the internal (muPDF) rendering fails.

    ResponderEliminar
  2. Thanks for the comment. You are completely right. I didn't know -col 2 was the default.
    -gs is optional.


    ES: Tenés toda la razón. No sabía que -col 2 fuera el default.
    -gs es opcional.

    ResponderEliminar