Ir a contenido principal

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

La primera vez que se registra en developerWorks, se crea un perfil para usted. Información sobre su perfil (nombre, país/región y compañia) estará disponible al público y acompañará cualquiera de sus publicaciones. Puede actualizar su cuenta IBM en cualquier momento.

Toda la información enviada es segura.

  • Cerrar [x]

La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

Toda la información enviada es segura.

  • Cerrar [x]

Construya un libro digital con EPUB

El formato abierto de eBook basado en XML

Liza Daly, Software Engineer and Owner, Threepress Consulting Inc.
Photo of Liza Daly
Liza Daly es una ingeniera de software especializada en aplicaciones para la industria editorial. Ha sido desarrolladora líder de los principales productos online de Oxford University Press, O'Reilly Media y otras editoras. Actualmente se desempeña como consultora independiente y es la fundadora de Threepress, un proyecto de fuente abierta para el desarrollo de aplicaciones de ebook.

Resumen:  ¿Necesita distribuir documentos, crear un eBook o simplemente archivar sus publicaciones de blog favoritas? EPUB es una especificación abierta para libros digitales basada en tecnologías conocidas como XML, CSS, XHTML y archivos EPUB que pueden leerse en dispositivos e-ink portátiles, teléfonos móviles y computadoras de escritorio. Este tutorial explica en detalles el formato EPUB, demuestra la validación de EPUB utilizando la tecnología Java y avanza paso a paso a través de la automatización de la creación de EPUB usando DocBook y Python.

05 de febrero de 2009 - Como seguimiento a los comentarios de lectores, el autor revisó el contenido del Listado 3 y actualizó el archivo epub-raw-files.zip (ver Descargas).

27 de abril de 2010 - Actualizó el archivo epub-raw-files.zip (ver Descargas).

03 de junio de 2010 - A solicitud del autor, revisó el contenido de los Listados 3 y 8. También actualizó el archivo epub-raw-files.zip (ver Descargas).

11 de enero de 2011 - A solicitud del autor, revisó el contenido del Listado 5. Cambió la segunda línea del código, de <item id="ncx" href="toc.ncx" media-type="text/xml"/>; a <item id="ncx" href="toc.ncx" media-type="application/x-dtbncx+xml"/>.

12 de julio de 2011 - Como seguimiento a los comentarios de lectores, revisó el contenido del Listado 14. Eliminó el carácter ` próximo al final de la primera línea del código de <?xml version="1.0" encoding="utf-8"?`>. El código revisado ahora se lee como: <?xml version="1.0" encoding="utf-8"?>.

Fecha:  18-06-2012
Nivel:  Intermediaria

Actividad:  8402 vistas

Empaquetar y revisar su EPUB

En este punto, usted debería tener un lote de EPUB listo para empaquetar. Este paquete podrá ser un nuevo libro creado por usted mismo o uno que utiliza los archivos primarios disponibles en Descargas.

Empaquetar su archivo EPUB como un archivo ZIP

La parte OEBPS Container Format de la especificación EPUB tiene bastante que decir sobre EPUB y ZIP, pero lo más importante es:

  • El primer archivo en el fichero debe ser el archivo mimetype (consulte Mimetype es este tutorial). El archivo mimetype no debe estar comprimido. Esto permite a los recursos no ZIP descubrir el mimetype al leer los bytes sin formato a partir de la posición 30 en el paquete EPUB.
  • El archivo ZIP no se debe cifrar. EPUB da soporte al cifrado excepto en nivel de archivos ZIP.

Al utilizar ZIP versión 2.3 en un sistema operativo tipo UNIX,®cree el archivo ZIP de EPUB en dos comandos, como en el Listado 11. (Estos comandos suponen que el directorio de trabajo actual es su proyecto EPUB.)


Listado 11. Empaquetar el EPUB en un archivo epub+zip válido

$ zip -0Xq  my-book.epub mimetype
$ zip -Xr9Dq my-book.epub *

En el primer comando se crea el nuevo archivo ZIP y se añade el archivo mimetype no comprimido. En el segundo, se añaden los demás elementos. Las banderas -X y -D minimizan la información extraña en el archivo .zip; -r incluirá de manera repetitiva los contenidos de META-INF y directorios OEBPS.


Validación de EPUB

Aunque el estándar EPUB no es especialmente difícil, sus archivos XML deben validarse según esquemas específicos. Si utiliza un editor XML compatible con esquemas para generar los metadatos y XHTML, aquí usted está a más de la mitad del camino. Haga una revisión final con el paquete EpubCheck (consulte Recursos).

Adobe mantiene el paquete EpubCheck que se encuentra disponible como fuente abierta bajo licencia de Berkeley Software Distribution (BSD). Es un programa Java que puede ejecutarse como una herramienta autónoma o como una aplicación web, o puede integrarse a una aplicación que se ejecute en Java Runtime Environment (JRE) versión 1.5 o posterior.

Ejecutarla desde la línea de comandos es sencillo. El Listado 12 ofrece un ejemplo.


Listado 12. Ejecutando la herramienta EpubCheck

$ java -jar /path/to/epubcheck.jar my-book.epub

Si no ha podido crear algunos archivos auxiliares o introdujo un error en los archivos de metadatos, puede recibir un mensaje de error como el del Listado 13.


Listado 13. Errores de muestra de EpubCheck

my-book.epub: image file OEBPS/images/cover.png is missing
my-book.epub: resource OEBPS/stylesheet.css is missing
my-book.epub/OEBPS/title.html(7): 'OEBPS/images/cover.png': 
     referenced resource missing in the package

Check finished with warnings or errors!

Es posible que necesite configurar su variable CLASSPATH aquí para apuntar a la ubicación de la instalación EpubCheck, ya que tiene algunas bibliotecas externas para importar. Probablemente necesita configurar la variable CLASSPATH si recibe un mensaje como:

org.xml.sax.SAXParseException: no implementation available for schema language 
   with namespace URI "http://www.ascc.net/xml/schematron"

Si la validación se realiza correctamente, usted verá "No errors or warnings detected". En ese caso, ¡felicitaciones por producir su primer EPUB!


Visualización de EPUB

Las pruebas no son solo sobre la validación: Se trata también de asegurarse de que el libro parezca correcto. ¿Funcionan correctamente las hojas de estilo? ¿Están las secciones realmente en el orden lógico correcto? ¿Incluye el libro todo el contenido esperado?

Varios lectores de EPUB se encuentran disponibles para realizar pruebas. La Figura 1 muestra una captura de pantalla de Adobe Digital Editions (ADE), el lector de EPUB más comúnmente utilizado.


Figura 1. El EPUB en ADE

Sus fuentes de colores y las imágenes aparecen, lo que es bueno. ADE no presenta correctamente el título en una fuente sans serif, aunque puede ser un problema con el CSS. Es útil aquí comprobar en otro lector. La Figura 2 muestra el mismo libro presentado en mi fuente abierta, lector de EPUB basado en web, Bookworm.


Figura 2. El EPUB en Bookworm

En este caso, es solo que ADE no da soporte a esa declaración en particular. Saber las peculiaridades del software de lectura individual es esencial si el formato exacto es importante en su libro digital.

Ahora que que ha completado, desde el inicio, el laborioso proceso de creación de un EPUB sencillo, vea lo que se necesita para convertir DocBook, un esquema XML común de documentación, a EPUB.

4 de 9 | Anterior | Siguiente

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=WebSphere
ArticleID=821187
TutorialTitle=Construya un libro digital con EPUB
publish-date=06182012
author1-email=liza@threepress.org
author1-email-cc=