Cómo Validar tus Epubs para garantizar que están CORRECTOS

Si ya sabes como generar tus propios epubs personalizados, el siguiente paso es que debes de verificar los mismos, los archivos generados no tengan errores. Para eso empleé la siguiente herramienta: EpubCheck, de la organización W3C, que maneja todos los estándares relacionados con EPUBs:

https://www.w3.org/publishing/epubcheck/

¿Por qué es importante validar?

Realmente no sabía que esta parte de la generación de EPUBs era tan importante. Resulta que, además de asegurarte de que tu libro se vea bien en aplicaciones como Calibre, también tiene que ser válido estructuralmente, especialmente si lo vas a subir a plataformas como Google Play Books o Apple Books.

En mi caso, tuve problemas con el EPUB al subirlo a Google Play me arrojaba errores y sugería contactar con soporte. Todo esto lo descubrí precisamente porque no estaba validando correctamente los archivos EPUB.

Una herramienta profesional: EpubCheck (W3C)

Por eso decidí usar EpubCheck, una herramienta muy confiable que valida si el archivo cumple con los estándares. Aunque un EPUB se abra en Calibre, eso no significa que sea válido. Algunos errores pueden impedir que funcione correctamente en otras plataformas, o incluso que no se acepte la carga.

Además, como profesional, es importante hacer las cosas bien desde el principio. Esta herramienta me ha servido mucho para verificar que todo esté correcto. Incluso si estás utilizando herramientas automáticas para generar EPUBs, te recomiendo pasarle esta validación para tener un “doble chequeo”.

¿Cómo instalar y usar EpubCheck?

EpubCheck es una herramienta hecha en Java. Por lo tanto, necesitas tener instalado OpenJDK, Java o puedes usar directamente el que trae Android Studio (que fue mi caso).

Yo hace mucho que no desarrollo en Java, así que no tenía Java instalado de forma nativa. Como Android Studio ya lo trae integrado, simplemente usé ese.

En Mac, el sistema ya me traía OpenJDK preinstalado. En Windows, simplemente accedí a la carpeta donde está el Java de Android Studio y lo ejecuté desde ahí.

Pasos para usar EpubCheck

Descarga el paquete de EpubCheck desde el sitio oficial que compartí al inicio del post.

  • Descomprime el archivo ZIP, te generará una carpeta con varios archivos.
  • Busca el archivo llamado epubcheck.jar.
  • Usa un terminal o línea de comandos para ejecutar la herramienta. El comando básico sería:
$ java -jar epubcheck.jar ruta/del/archivo.epub

En mi caso, tuve que indicar la ruta completa del ejecutable de Java de Android Studio, ya que no tenía Java como tal instalado en el sistema.

Cuando ejecutas el comando, si el programa tarda un poco, es buena señal: quiere decir que está procesando el archivo. Si todo está correcto, no verás errores. Si termina demasiado rápido, puede que haya un problema con la ruta o que no esté encontrando el archivo.

En un archivo correcto, el programa simplemente indica que no hay errores. En cambio, cuando hay errores, los muestra claramente.

Por ejemplo, uno de mis libros tenía errores porque personalicé una fuente pero no la había incluido físicamente en el EPUB, aunque sí la referencié en el CSS. EpubCheck me lo indicó de forma clara y me permitió corregirlo rápidamente:

ha encontrado en el EPUB.
ERROR(RSC-007): I:/descargas/librosacademia/laravel/es/laravel.epub/OEBPS/chapter22.xhtml(42,13): El recurso referenciado "OEBPS/fonts/SUSE-ExtraBold.ttf" no se ha encontrado en el EPUB.
ERROR(RSC-007): I:/descargas/librosacademia/laravel/es/laravel.epub/OEBPS/chapter22.xhtml(47,13): El recurso referenciado "OEBPS/fonts/SUSE-Regular.ttf" no se ha encontrado en el EPUB.
ERROR(RSC-007): I:/descargas/librosacademia/laravel/es/laravel.epub/OEBPS/chapter22.xhtml(52,13): El recurso referenciado "OEBPS/fonts/SUSE-SemiBold.ttf" no se ha encontrado en el EPUB.

Prueba finalizada con errores
Mensajes: 0 errores fatales / 405 errores / 0 advertencias / 0 indicaciones

EPUBCheck completado

C:\Users\andre>
C:\Users\andre>
C:\Users\andre>
C:\Users\andre>
C:\Users\andre>"C:\Program Files\Android\Android Studio\jbr\bin\java.exe" -jar "I:\descargas\epubcheck-5.2.1\epubcheck.jar" "I:\descargas\librosacademia\mac\alpine\es\Primeros pasos con Alpine.js, tu nuevo y ligero framework JavaScript.epub"
Validación usando la versión de reglas epub 2.0.1.

También he tenido archivos con errores como etiquetas <div> mal ubicadas o archivos no encontrados dentro del EPUB. A veces, esto es causado por editores como Sigil, o incluso cuando exportas desde Google Docs y se pierde alguna referencia. EpubCheck te muestra exactamente cuál archivo tiene el problema y en qué línea ocurre:

ERROR(RSC-005): I:/descargas/librosacademia/mac/alpine/es/Primeros pasos con Alpine.js, tu nuevo y ligero framework JavaScript.epub/OEBPS/chapter3.xhtml(670,2115): Error al analizar el archivo: el elemento "div" no se permite aquí; se esperaba el elemento final de etiqueta, texto o elemento "a", "abbr", "acronym", "applet", "b", "bdo", "big", "br", "cite", "code", "del", "dfn", "em", "i", "iframe", "img", "ins", "kbd", "map", "noscript", "ns:svg", "object", "q", "samp", "script", "small", "span", "strong", "sub", "sup", "tt" o "var" (con xmlns:ns="http://www.w3.org/2000/svg")
ERROR(RSC-005): I:/descargas/librosacademia/mac/alpine/es/Primeros pasos con Alpine.js, tu nuevo y ligero framework JavaScript.epub/OEBPS/chapter5.xhtml(603,227): Error al analizar el archivo: el elemento "div" no se permite aquí; se esperaba el elemento final de etiqueta, texto o elemento "a", "abbr", "acronym", "applet", "b", "bdo", "big", "br", "cite", "code", "del", "dfn", "em", "i", "iframe", "img", "ins", "kbd", "map", "noscript", "ns:svg", "object", "q", "samp", "script", "small", "span", "strong", "sub", "sup", "tt" o "var" (con xmlns:ns="http://www.w3.org/2000/svg")
ERROR(RSC-005): I:/descargas/librosacademia/mac/alpine/es/Primeros pasos con Alpine.js, tu nuevo y ligero framework JavaScript.epub/OEBPS/chapter5.xhtml(603,1057): Error al analizar el archivo: el elemento "div" no se permite aquí; se esperaba el elemento final de etiqueta, texto o elemento "a", "abbr", "acronym", "applet", "b", "bdo", "big", "br", "cite", "code", "del", "dfn", "em", "i", "iframe", "img", "ins", "kbd", "map", "noscript", "ns:svg", "object", "q", "samp", "script", "small", "span", "strong", "sub", "sup", "tt" o "var" (con xmlns:ns="http://www.w3.org/2000/svg")

Tambien puedes emplear Android Studio, que tiene una version de Java instalado; aquí te dejo algunos comandos que puedes ejecutar:

--- PC
"C:\Program Files\Android\Android Studio\jbr\bin\java.exe" -jar "I:\descargas\epubcheck-5.2.1\epubcheck.jar" "I:\descargas\librosacademia\laravel\es\laravel.epub"

--- MacOS
java -jar "/Volumes/My Passport/archivos/descargas/libros ready/epubcheck-5.2.1/epubcheck.jar" "/Volumes/My Passport/archivos/descargas/libros ready/flask/es/Primeros pasos con Flask 3.epub"

Conclusión

En resumen:

  • Descarga EpubCheck, es una herramienta gratuita, profesional y confiable.
  • Instala Java o usa el de Android Studio si ya lo tienes.
  • Ejecuta la validación con el comando java -jar epubcheck.jar seguido de la ruta del archivo.
  • Corrige cualquier error que se muestre. Es mejor prevenir que subir un libro con problemas.

Acepto recibir anuncios de interes sobre este Blog.

Te muestro como puedes verificar tus epubs para poder garantizar de que son validos y no tienen errores.

- Andrés Cruz

In english