¿Qué es EPUB?
EPUB — Electronic Publication (Publicación Electrónica) — es el estándar abierto para libros digitales publicado por el W3C EPUB Working Group (anteriormente el IDPF). Publicado por primera vez en 2007 como EPUB 2.0.1, la versión actual es EPUB 3.3 (2023), que alinea el formato con tecnologías web modernas: HTML5, CSS3, SVG, JavaScript y MathML.
EPUB es usado por prácticamente todos los ecosistemas de publicación digital excepto los formatos propietarios de Amazon (AZW/MOBI/KFX). Las principales plataformas incluyen: Apple Books, Kobo, Barnes & Noble Nook, Google Play Books, Calibre, FBReader y Adobe Digital Editions.
Estructura Física: EPUB es un ZIP
Todo archivo EPUB es un ZIP renombrado. Descomprimir cualquier .epub revela:
mimetype ← debe ser el primer archivo, sin comprimir
META-INF/
container.xml ← apunta al archivo OPF
OEBPS/ (o cualquier nombre)
content.opf ← documento de paquete (spine, manifest, metadata)
toc.ncx ← navegación EPUB 2 heredada
nav.xhtml ← documento de navegación EPUB 3
Text/
capitulo01.xhtml
capitulo02.xhtml
Images/
portada.jpg
figura01.png
Styles/
estilos.css
Fonts/
MiFuente.otf
El archivo mimetype contiene exactamente application/epub+zip — sin salto de línea, sin BOM — y debe ser la primera entrada en el ZIP, almacenada sin comprimir.
Documento de Paquete (OPF)
El archivo OPF (Open Packaging Format) es el manifiesto de la publicación:
<?xml version="1.0" encoding="UTF-8"?>
<package xmlns="http://www.idpf.org/2007/opf" version="3.0"
xml:lang="es" unique-identifier="bookid">
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:identifier id="bookid">urn:isbn:9780000000000</dc:identifier>
<dc:title>La Guía Completa de EPUB</dc:title>
<dc:creator id="autor">Juan García</dc:creator>
<dc:language>es</dc:language>
<dc:publisher>Libros Técnicos S.A.</dc:publisher>
<meta property="dcterms:modified">2024-01-15T10:00:00Z</meta>
<meta name="cover" content="imagen-portada"/>
</metadata>
<manifest>
<item id="nav" href="nav.xhtml" media-type="application/xhtml+xml"
properties="nav"/>
<item id="imagen-portada" href="Images/portada.jpg" media-type="image/jpeg"
properties="cover-image"/>
<item id="cap01" href="Text/capitulo01.xhtml"
media-type="application/xhtml+xml"/>
<item id="css" href="Styles/estilos.css" media-type="text/css"/>
</manifest>
<spine>
<itemref idref="cap01"/>
</spine>
</package>
EPUB 2 vs. EPUB 3
| Característica | EPUB 2.0.1 | EPUB 3.3 |
|---|---|---|
| Documentos de contenido | XHTML 1.1 | HTML5 / XHTML5 |
| Soporte CSS | CSS 2.1 | CSS3 |
| SVG | Limitado | SVG 1.1 completo |
| JavaScript | No soportado | Soportado |
| MathML | No soportado | Nativo |
| Audio/Vídeo | No soportado | HTML5 <audio> / <video> |
| Navegación | NCX (toc.ncx) | nav.xhtml |
| Accesibilidad | Limitada | DPUB-ARIA, Schema.org |
| Diseño fijo | Limitado | Especificación completa |
Diseño Fijo vs. Reflujo
EPUB de reflujo (predeterminado): el texto se adapta al tamaño de pantalla, tamaño de fuente y orientación del lector. Ideal para novelas, libros de texto y prosa.
EPUB de diseño fijo: cada página tiene un tamaño de píxeles fijo, similar a un PDF. Usado para libros ilustrados infantiles, cómics y revistas con diseño complejo:
<!-- Metadatos OPF para diseño fijo -->
<meta property="rendition:layout">pre-paginated</meta>
<meta property="rendition:orientation">landscape</meta>
Superposiciones de Medios (Lectura en Voz Alta)
EPUB 3 admite texto y audio sincronizados mediante Superposiciones de Medios SMIL — el lector electrónico resalta el texto mientras lo lee en voz alta:
<smil xmlns="http://www.w3.org/ns/SMIL" version="3.0">
<body>
<par id="par01">
<text src="Text/capitulo01.xhtml#parrafo01"/>
<audio src="Audio/capitulo01.mp3" clipBegin="0:00:00.000"
clipEnd="0:00:04.500"/>
</par>
</body>
</smil>
Creación de Archivos EPUB
Pandoc (línea de comandos, gratuito):
pandoc entrada.docx -o salida.epub --epub-cover-image=portada.jpg
pandoc entrada.md -o libro.epub --toc --metadata title="Mi Libro"
Sigil (gratuito, editor EPUB de código abierto): GUI completa para crear y editar EPUB 2/3.
Adobe InDesign: estándar de la industria para publicación — exporta directamente a EPUB 3.
Calibre (gratuito): convierte entre formatos y puede editar metadatos EPUB.
Validación de EPUB
EPUBCheck (validador oficial del W3C):
java -jar epubcheck.jar libro.epub
EPUBCheck valida la estructura ZIP, el OPF, el documento de navegación, la validez HTML/CSS y los metadatos de accesibilidad. Un EPUB distribuible debe tener 0 errores y 0 advertencias.
Conversión de EPUB
- EPUB → PDF: Calibre
ebook-convert entrada.epub salida.pdf. - EPUB → MOBI/AZW3: Calibre, o el convertidor en línea de Amazon.
- EPUB → DOCX: Pandoc
pandoc entrada.epub -o salida.docx. - DOCX → EPUB: Pandoc, o Word → Guardar como HTML filtrado → Sigil.
- PDF → EPUB: Calibre (con pérdidas — el diseño puede degradarse), o flujo de trabajo OCR profesional.
Buenas Prácticas
- Valida con EPUBCheck antes de distribuir — los EPUB no válidos se rompen en muchos lectores.
- Usa codificación UTF-8 en todos los documentos de contenido.
- Incluye imagen de portada en el manifiesto con
properties="cover-image". - Incrusta solo las fuentes necesarias — los archivos de fuentes sin usar aumentan el tamaño.
- Prueba en múltiples lectores: Kindle Previewer, Apple Books, Kobo, FBReader.
- Separa contenido de presentación — mantén CSS en hojas de estilo externas.
- Usa marcado semántico (
epub:type) para accesibilidad y navegación. - Mantén pequeños los archivos de imagen: JPEG para fotos (< 200 KB), PNG para diagramas.
- Conserva el archivo NCX (toc.ncx) incluso en EPUB 3 para compatibilidad con lectores EPUB 2.
- Usa Pandoc para conversiones en lote — maneja la mayoría de formatos de oficina a EPUB de forma fiable.