Editar un ePub desde la terminal
Por Osvaldo, 2015-12-26 21:00
Después de encontrar un error en un libro en formato ePub, clásico en mí, reporté el error… pero al paso de los días no obtuve respuesta a mi reporte, por lo que decidí corregirlo.
Para ello tuve que aprender cómo.
Me recomendaron varios programas, Calibre y Sigil entre ellos, pero fue entonces que me pregunté “¿Y por qué no modificarlo por terminal?”. Así que leí la estructura de un archivo ePub.
ePub (acrónimo de la expresión inglesa Electronic publication - Publicación electrónica) es un formato redimensionable de código abierto para leer textos e imágenes y, desde EPUB3, también permite audio.
En su estructura se marca el contenido, pero no se delimita su formato de pantalla, que se adapta a las dimensiones de las diferentes pantallas de los múltiples dispositivos, como los distintos modelos de lectores de libros electrónicos.
Un fichero EPUB consiste en un archivo comprimido .zip que contiene tres ficheros XML basados en tres estándares abiertos, como son Open Publication Structure (OPS), Open Packaging Format (OPF) y OEBPS Container Format (OCF) (fuente Wikipedia).
Partiendo de que es un archivo comprimido, procedemos a usar:
$ unzip MyEbook(v1.1).epub
Con lo anterior obtenemos
Ahora entramos a el directorio OEBPS y después a Text:
$ cd OEBPS/Text/
Aquí veremos varios .xhtml y buscamos el archivo que tiene la palabra equivocada usando grep:
$ grep -lir "utiizado"
Realizamos la corrección con nuestro editor de texto favorito y, grabamos.
El siguiente paso es, comprimir, pero con otro nombre. Para esto usamos:
zip -X MyEbook(v1.2).epub mimetype
Estamos a punto de terminar; solamente nos resta usar los siguientes comandos:
zip -rg MyEbook(v1.2).epub META-INF -x \*.DS_Store
y
zip -rg MyEbook(v1.2).epub OEBPS -x \*.DS_Store
¡Listo! Ahora podemos leer la nueva versión de nuestro ePub en nuestro dispositivo preferido (previa sincronización) y con nuestro lector favorito, en mi caso es Cool Reader.