Electronic Publication (EPUB) | ||
---|---|---|
Desarrollador | ||
International Digital Publishing Forum (IDPF) | ||
idpf.org/epub | ||
Información general | ||
Extensión de archivo |
.epub | |
Tipo de MIME |
application/epub+zip | |
Uniform Type Identifier | org.idpf.epub-container | |
Número mágico |
504B03040A000200 y mimetypeapplication/epub+zip | |
Lanzamiento inicial | septiembre de 2007 | |
Tipo de formato | libro electrónico | |
Contenido por | OEBPS Container Format (OCF) (ZIP) | |
Extendido de | Open eBook, XHTML, CSS, DTBook | |
Formato abierto | ||
EPUB es un formato de archivo de libro electrónico que utiliza la extensión de archivo ".epub". El término es un acrónimo de la expresión inglesa electronic publication (publicación electrónica) y a menudo se le denomina ePub. EPUB es compatible con muchos lectores de libros electrónicos y hay software compatible para la mayoría de los teléfonos inteligentes, tabletas y computadoras. EPUB es un estándar técnico publicado por el International Digital Publishing Forum (IDPF). Se convirtió en un estándar oficial del IDPF en septiembre de 2007, sustituyendo al antiguo estándar Open eBook.[2]
El Book Industry Study Group respalda al EPUB 3 como el formato preferido para el contenido empaquetado y ha declarado que la industria mundial de la publicación de libros debería unirse en torno a un único estándar.[3] El formato EPUB es implementado como un archivo que contiene archivos XHTML, junto con imágenes y otros archivos de apoyo. EPUB es el formato de libro electrónico basado en XML (a diferencia del PDF) más ampliamente compatible con los proveedores, es decir, es compatible con casi todos los lectores electrónicos, con la notable excepción de Kindle hasta el año 2022.[4]
Como sucesor de Open eBook Publication Structure, EPUB 2.0 fue aprobado en octubre de 2007,[5] con una actualización de mantenimiento (2.0.1) aprobada en septiembre de 2010.[6]
La especificación EPUB 3.0 entró en vigor en octubre de 2011, sustituida por una actualización de mantenimiento menor (3.0.1) en junio de 2014.[7] Entre las nuevas características principales figuran la compatibilidad para un diseño preciso o un formato especializado (Fixed Layout Documents), como en el caso de los libros de historietas y la compatibilidad con MathML.[8] En mayo de 2016, los miembros del IDPF aprobaron la incorporación al World Wide Web Consortium (W3C),[9] "para alinear completamente la industria editorial y la tecnología básica de la Web".[10]
La versión actual de EPUB es la 3.2, vigente a partir del 8 de mayo de 2019.[11] Se le ha dado soporte oficial a las versiones actuales de HTML, CSS y SVG, según lo definido por el W3C.[12]
El EPUB 2.0 fue aprobado en octubre de 2007, con una actualización de mantenimiento (2.0.1) destinada a aclarar y corregir las erratas en las especificaciones que se aprobaron en septiembre de 2010.[6] La versión 2.0.1 de EPUB consta de tres especificaciones:
.epub
en XML.[14]EPUB utiliza internamente XHTML o DTBook (un estándar XML proporcionado por el Consorcio DAISY) para representar el texto y la estructura del documento de contenido, y un subconjunto de CSS para proporcionar el diseño y el formato. El XML se utiliza para crear el manifiesto del documento, la tabla de contenidos y los metadatos del EPUB. Por último, los archivos se agrupan en un archivo ZIP como formato de empaquetado.
Un archivo EPUB utiliza XHTML 1.1 (o DTBook) para construir el contenido de un libro a partir de la versión 2.0.1. Esto es diferente de las versiones anteriores (OEBPS 1.2 y anteriores), que usaban un subconjunto de XHTML. Sin embargo, hay algunas restricciones en ciertos elementos. El tipo MIME para los documentos XHTML en el EPUB es application/xhtml+xml
.[13]
El estilo y el diseño se realizan utilizando un subconjunto de CSS 2.0, conocido como OPS Style Sheets. Esta sintaxis especializada requiere que los sistemas de lectura soporten solo una parte de las propiedades CSS y añadan algunas propiedades personalizadas. Las propiedades personalizadas incluyen oeb-page-head
, oeb-page-foot
y oeb-column-number
. La incrustación de la fuente se puede realizar utilizando la propiedad @font-face
, así como incluyendo el archivo de la fuente en el manifiesto de OPF. El tipo MIME para los documentos CSS en EPUB es text/css
.[15]
EPUB también requiere que las imágenes PNG, JPEG, GIF y SVG sean soportadas usando los tipo MIME image/png
, image/jpeg
, image/gif
, image/svg+xml
. Se permiten otros tipos de medios, pero los creadores deben incluir variantes alternativas que utilicen tipos compatibles.[15]
Se requiere Unicode, y los productores de contenido deben usar codificación UTF-8 o UTF-16.[15] Esto es para apoyar los libros internacionales y multilingües. Sin embargo, los sistemas de lectura no están obligados a proporcionar las fuentes necesarias para mostrar cada carácter unicode, aunque sí deben mostrar al menos un marcador de posición para los caracteres que no se pueden mostrar completamente.[15]
Un ejemplo de la estructura de un archivo XHTML para un EPUB es como esto:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
<title>Pride and Prejudice</title>
<link rel="stylesheet" href="css/main.css" type="text/css" />
</head>
<body>
...
</body>
</html>
El propósito de la especificación del OPF es: "...[definir] el mecanismo por el cual se vinculan los diversos componentes de una publicación OPS y proporciona una estructura y una semántica adicionales a la publicación electrónica".[16] Esto se logra mediante dos archivos XML con las extensiones .opf
y .ncx
.
El archivo OPF, tradicionalmente llamado content.opf
, contiene los metadatos del libro EPUB, el manifiesto del archivo y el orden de lectura lineal. Este archivo tiene un paquete de elementos raíz y cuatro elementos hijo: metadata
, manifest
, spine
y guide
. Además, el nodo package
debe tener el atributo unique-identifier
. El tipo MIME del archivo .opf es application/oebps-package+xml
.[16]
El elemento metadata
contiene toda la información de metadatos para un archivo EPUB en particular. Se requieren tres etiquetas de metadatos (aunque hay muchas más disponibles): title
, language
y identifier
. La etiqueta title
contiene el título del libro, language
contiene el lenguaje del contenido del libro en formato RFC 3066 o sus sucesores, como el más reciente RFC 4646 y identifier
contiene un identificador único para el libro, como su ISBN o una URL. El atributo id
delidentifier
debe ser igual al atributo unique-identifier
del elemento package
.[16]
El elemento manifest
enumera todos los archivos contenidos en el paquete. Cada archivo está representado por un elemento item
y tiene los atributos: id
, href
, media-type
. Todos los XHTML (documentos de contenido), hojas de estilo, imágenes u otros medios, fuentes incrustadas, y el archivo NCX deben ser listados aquí. Solo el propio archivo .opf
, el container.xml
y los archivos mimetype
no deben ser incluidos.[16] Obsérvese que en el ejemplo que figura a continuación se da un media-type
arbitrario al archivo de fuentes incluido, aunque no existe un tipo MIME para las fuentes.
El elemento spine
enumera todos los documentos de contenido XHTML en su orden de lectura lineal. También se debe enumerar cualquier documento de contenido al que se pueda acceder a través de los enlaces o el índice. El atributo toc
del spine
debe contener el id
del archivo NCX que figura en el manifiesto. El idref
de cada elemento itemref
se establece con el id
de su respectivo documento de contenido.[16]
El elemento guide
es un elemento opcional con el propósito de identificar los componentes estructurales fundamentales del libro. Cada elemento reference
tiene los atributos type
, title
, href
. Los archivos referenciados en href
deben ser listados en el manifiesto y se les permite tener un identificador de elemento (#figures en el ejemplo).[16]
Un ejemplo de archivo OPF:
<?xml version="1.0"?>
<package version="2.0" xmlns="http://www.idpf.org/2007/opf" unique-identifier="BookId">
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:opf="http://www.idpf.org/2007/opf">
<dc:title>Pride and Prejudice</dc:title>
<dc:language>en</dc:language>
<dc:identifier id="BookId" opf:scheme="ISBN">123456789X</dc:identifier>
<dc:creator opf:file-as="Austen, Jane" opf:role="aut">Jane Austen</dc:creator>
</metadata>
<manifest>
<item id="chapter1" href="chapter1.xhtml" media-type="application/xhtml+xml"/>
<item id="appendix" href="appendix.xhtml" media-type="application/xhtml+xml"/>
<item id="stylesheet" href="style.css" media-type="text/css"/>
<item id="ch1-pic" href="ch1-pic.png" media-type="image/png"/>
<item id="myfont" href="css/myfont.otf" media-type="application/x-font-opentype"/>
<item id="ncx" href="toc.ncx" media-type="application/x-dtbncx+xml"/>
</manifest>
<spine toc="ncx">
<itemref idref="chapter1" />
<itemref idref="appendix" />
</spine>
<guide><reference type="loi" title="List Of Illustrations" href="appendix.xhtml#figures" />
</guide>
</package>
El archivo NCX (Navigation Control file for XML), tradicionalmente llamado toc.ncx
, contiene el índice jerárquico del archivo EPUB. La especificación para el NCX fue desarrollada para el Digital Talking Book (DTB), es mantenida por el Consorcio DAISY, y no es parte de la especificación EPUB. El archivo NCX tiene un tipo MIME de application/x-dtbncx+xml
.
Cabe destacar que los valores de los elementos docTitle
, docAuthor
y meta name="dtb:uid"
deben coincidir con sus análogos en el archivo OPF. Además, el elemento meta name="dtb:depth"
se establece igual a la profundidad del elemento navMap
. Los elementos navPoint
pueden anidarse para crear una tabla de contenidos jerárquica. El contenido de navLabel
es el texto que aparece en el índice generado por los sistemas de lectura que utilizan el .ncx. El elemento content
de navPoint
apunta a un documento de contenido que figura en el manifiesto y también puede incluir un identificador de elemento (por ejemplo, #section1).[16][17]
En la sección 2.4.1 de la especificación del NCX, tal como se utiliza en EPUB, se describe una serie de excepciones a la especificación del NCX. La especificación completa para el NCX se puede encontrar en la sección 8 de Specifications for the Digital Talking Book.[17]
Un ejemplo de archivo .ncx:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ncx PUBLIC "-//NISO//DTD ncx 2005-1//EN"
"http://www.daisy.org/z3986/2005/ncx-2005-1.dtd">
<ncx version="2005-1" xml:lang="en" xmlns="http://www.daisy.org/z3986/2005/ncx/">
<head>
<!-- The following four metadata items are required for all NCX documents,
including those that conform to the relaxed constraints of OPS 2.0 -->
<meta name="dtb:uid" content="123456789X"/> <!-- same as in .opf -->
<meta name="dtb:depth" content="1"/> <!-- 1 or higher -->
<meta name="dtb:totalPageCount" content="0"/> <!-- must be 0 -->
<meta name="dtb:maxPageNumber" content="0"/> <!-- must be 0 -->
</head>
<docTitle>
<text>Pride and Prejudice</text>
</docTitle>
<docAuthor>
<text>Austen, Jane</text>
</docAuthor>
<navMap>
<navPoint class="chapter" id="chapter1" playOrder="1">
<navLabel><text>Chapter 1</text></navLabel>
<content src="chapter1.xhtml"/>
</navPoint>
</navMap>
</ncx>
Un archivo EPUB es un grupo de archivos que se ajustan a los estándares OPS/OPF y están empaquetados en un archivo ZIP. El OCF especifica cómo organizar estos archivos en el ZIP y define dos archivos adicionales que deben ser incluidos.
El archivo mimetype
debe ser un documento de texto en ASCII que contenga la cadena application/epub+zip
. También debe estar descomprimido, sin cifrar y ser el primer archivo en el ZIP. Este archivo proporciona una forma más fiable para que las aplicaciones identifiquen el tipo MIME del archivo que solo la extensión .epub
.[14]
Además, debe haber una carpeta llamada META-INF
, que contiene el archivo requerido container.xml
. Este archivo XML apunta al archivo que define el contenido del libro. Este es el archivo OPF, aunque se permiten elementos rootfile
adicionales alternativos.[14]
Aparte de mimetype
y META-INF/container.xml
, los otros archivos (OPF, NCX, XHTML, CSS y archivos de imágenes) se colocan tradicionalmente en un directorio llamado OEBPS
.
Un ejemplo de estructura de archivos:
--ZIP Container--
mimetype
META-INF/
container.xml
OEBPS/
content.opf
chapter1.xhtml
ch1-pic.png
css/
style.css
myfont.otf
Un ejemplo de container.xml
, dada la estructura de archivos anterior:
<?xml version="1.0" encoding="UTF-8" ?>
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<rootfiles>
<rootfile full-path="OEBPS/content.opf" media-type="application/oebps-package+xml"/>
</rootfiles>
</container>
La especificación recomendada EPUB 3.0 fue aprobada el 11 de octubre de 2011. El 26 de junio de 2014 se aprobó el EPUB 3.0.1 como una actualización de mantenimiento menor de la EPUB 3.0. El EPUB 3.0 sustituye a la anterior versión 2.0.1.
EPUB 3 consiste en un conjunto de cuatro especificaciones:
El formato EPUB 3.0 tenía por objeto responder a las siguientes críticas:
El 26 de junio de 2014, el IDPF publicó el EPUB 3.0.1 como especificación final recomendada.[20]
En noviembre de 2014, EPUB 3.0 fue publicado por la Organización Internacional de Normalización como ISO/IEC TS 30135 (parts 1-7).[21]
En enero de 2020, la Organización Internacional de Normalización publicó el EPUB 3.0.1 como ISO/IEC 23736 (parts 1-6).[22]
El EPUB 3.2 fue anunciado en 2018 y la especificación final fue publicada en 2019.[23][24]
El EPUB 3.3 se ha convertido en una recomendación de la W3C a partir del 25 de mayo del 2023. Esta versión es compatible con la versión previa (EPUB 3.2). Así mismo un documento EPUB 3.2 es también un EPUB 3.3 válido. Es decir, que migrarse a la versión EPUB 3.3 no requiere ningún cambio o acción.[25]
El formato y muchos lectores soportan lo siguiente:
Un archivo EPUB puede contener opcionalmente DRM como capa adicional, pero no es requerido por las especificaciones.[29] Además, la especificación no nombra ningún sistema DRM en particular para usar, así que los editores pueden elegir un esquema DRM a su conveniencia. Sin embargo, las futuras versiones de EPUB (específicamente OCF) pueden especificar un formato para DRM.
La especificación de EPUB no impone ni sugiere un esquema particular de DRM. Esto podría afectar el nivel de soporte de varios sistemas DRM en los dispositivos y la portabilidad de los libros electrónicos comprados. En consecuencia, dicha incompatibilidad de DRM puede segmentar el formato de EPUB a lo largo de las líneas de los sistemas DRM, socavando las ventajas de un único formato estándar y confundiendo al consumidor.[30][31]
EPUB se utiliza ampliamente en lectores de software como Google Play Books en Android y Apple Books en iOS y macOS, pero no en los lectores electrónicos Amazon Kindle o en aplicaciones relacionadas con otras plataformas. Kindle utiliza principalmente el formato Mobipocket (MOBI), o sus formatos propietarios AZW, AZW3 o KFX. No obstante, permite el envío de archivos a través de su sistema "Send To Kindle", que lo convierte a un formato compatible[32] . iBooks también soporta el formato propietario iBook, que se basa en el formato EPUB pero depende del código de la aplicación iBooks para funcionar.[33]
Un archivo EPUB es un archivo que contiene, en efecto, un sitio web. Incluye archivos HTML, imágenes, hojas de estilo CSS y otros activos. También contiene metadatos. EPUB 3 es la última versión. Usando HTML5, las publicaciones pueden contener video, audio e interactividad, como los sitios web en los navegadores.[27]
Una publicación ePub se entrega en un solo archivo. Este archivo es un archivo comprimido sin cifrar que contiene un conjunto de recursos interrelacionados.[34]
Un Contenedor Abstracto OCF (Open Container Format) define un modelo de sistema de archivos para el contenido del contenedor. El modelo de sistema de archivos utiliza un único directorio raíz común para todo el contenido del contenedor. Todos los recursos (no remotos) para publicaciones están en el árbol de directorios encabezado por el directorio raíz del contenedor, aunque EPUB no exige una estructura de sistema de archivos específica para ello. El modelo de sistema de archivos incluye un directorio obligatorio llamado META-INF que es hijo directo del directorio raíz del contenedor. META-INF almacena container.xml.
El primer archivo debe ser el de tipo MIME. Debe estar sin cifrar y sin comprimir para que los utilitarios que no son ZIP puedan leer el mimetipo. El archivo de tipo MIME debe ser un archivo ASCII que contenga la cadena "application/epub+zip". Este archivo proporciona una forma más fiable para que las aplicaciones identifiquen el tipo MIME del archivo que solo la extensión .epub
.
Un ejemplo de estructura de archivos:
--ZIP Container--
mimetype
META-INF/
container.xml
OEBPS/
content.opf
chapter1.xhtml
ch1-pic.png
css/
style.css
myfont.otf
toc.ncx
Debe haber una carpeta llamada META-INF
, que contiene el archivo requerido container.xml
. Este archivo XML apunta al archivo que define el contenido del libro. Este es el archivo OPF, aunque se permiten elementos rootfile
adicionales alternativos.
Aparte de mimetype
y META-INF/container.xml
, los otros archivos (OPF, NCX, XHTML, CSS y archivos de imágenes) se colocan tradicionalmente en un directorio llamado OEBPS
.
Un ejemplo de estructura de archivos:
<?xml version="1.0" encoding="UTF-8" ?>
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container">
<rootfiles>
<rootfile full-path="OEBPS/content.opf" media-type="application/oebps-package+xml"/>
</rootfiles>
</container>
El contenedor del ePUB debe contener:
.opf
. Contiene metadatos, un manifiesto, cadenas de recuperación, enlaces y una columna. Es una secuencia ordenada de referencias de identificación que define el orden de lectura por defecto.El contenedor del ePUB puede contener:
Los documentos de contenido incluyen: Contenido HTML5, documentos de navegación, documentos SVG, documentos de contenido en scripts y documentos de disposición fija. El contenido también incluye documentos CSS y PLS. Los documentos de navegación sustituyen a la gramática NCX utilizada en EPUB 2.
Los libros con narración de audio sincronizada se crean en el EPUB 3 mediante el uso de documentos de superposición de medios para describir el tiempo de la narración de audio pregrabada y cómo se relaciona con el marcado del documento de contenido del EPUB. El formato de archivo de las superposiciones de medios se define como un subconjunto de SMIL.[35]
Tanto los usuarios particulares, a nivel individual o colectivo, como las empresas pueden realizar sus propios archivos en formato EPUB gratuitamente y de forma libre. Si el contenido no está sujeto a derechos de autor, pueden compartir los archivos por internet o por otros medios. Muchas páginas web tienen enlaces a archivos epub o los alojan para descargar gratuitamente. Existen foros de creadores de archivos en Epub y grupos que los comparten o los crean de forma colaborativa.
En mayo de 2008, en una carta de la AAP firmada por el director de políticas digitales de la asociación, Ed McCoy, los editores estadounidenses apoyan de forma oficial el formato EPUB como estándar de la industria digital, y esperan el apoyo del IDPF (guías y consejos) para facilitar la transición a este formato por parte de las editoriales.[36] El EPUB recibía así el apoyo directo de editoriales tales como Penguin, HarperCollins, Cambridge University Press, Pelican Publishing Company, Inc., John Wiley & Sons Inc., National Science Teachers Association, Hachette Book Group USA, Oxford University Press, Random House, Seattle Book Company/Rosetta Solutions, Simon & Schuster, Macmillan, Harlequin Enterprises Ltd., Workman Publishing, CQ Press, y Cengage Learning.
En julio de 2008 varios de los editores de habla inglesa como Simon & Schuster, Penguin Group, HarperMedia, Hachette Book Group y Harlequin Enterprises ya ofertaban este formato cuando se produjo un movimiento significativo por parte de Sony, que adoptó este formato en sus lectores.[37]
A finales de 2008, Adobe incluía un proceso para generar EPUB desde su programa de maquetación Indesign, uno de los más utilizados para dar formato a los libros que se publican a partir de maquetas preexistentes, lo que abarató de forma importante la generación de libros en este formato.
El impulso definitivo a este formato de lectura de textos lo dio Google, al incluir este estándar en su inmensa base de libros digitalizados, de modo que añadió la opción de descargarlos en EPUB. En agosto de 2009 más de un millón de libros del dominio público estaban disponibles en Google Books.[38]
La adopción del estándar sin embargo no es totalmente generalizada ya que el Kindle, el lector de Amazon, que es el que tiene más unidades en el mercado y es la mayor librería en línea del mundo, no incluye este formato. A pesar de que en 2011 se rumoreó que en Amazon indicaban que la empresa daría soporte también a este formato,[39] todavía esto no ha sucedido. En cambio, con el lanzamiento del Kindle Fire Amazon introduce el "Kindle Format 8" (KF8), más conocido como AZW3.. AZW3 soporta un subconjunto de las características de HTML5 y CSS3,. con la misma estructura que un EPUB, lo que permite a los editores mediante KindleGen generar desde sus EPUBs (o descomprimiendo y leyendo el fichero opf) generar los ficheros en el nuevo formato que en realidad imbuye dos ficheros, uno en AZW3 (V8) y otro en el viejo MOBI (V7).[40][41] En función del equipo para el que se envía, Amazon entrega la parte MOBI (viejos lectores), la AZW3 (desde el Kindle 4) o un formato derivado al vuelo del AZW3 para los lectores sobre equipos con IOS. El script en Python KindleUnpack permite dividir el fichero generado sin encriptar en los dos formatos Amazon + el EPUB imbuido.
En internet se encuentran numerosas páginas web, de las cuales algunas emplean la filosofía de edición participativa de Wikipedia para poner gratuitamente a disposición del público varios miles de libros en diversos formatos, con una preponderancia del formato EPUB, manifestando así su popularidad.
Existen muchos editores, incluyendo Calibre y Sigil, ambos de código abierto. Otra herramienta de código abierto, llamada epubcheck, puede utilizarse para validar y detectar errores en el marcado estructural (OCF, OPF, OPS), imágenes y archivos XHTML.[42]
Existen lectores para todas las principales plataformas de hardware (excepto para Amazon Kindle) como Adobe Digital Editions y Calibre en las plataformas de escritorio, Google Play Books y Aldiko en Android e iOS, y Apple Books en macOS e iOS.