Estás viendo una entrada al azar. La URL no era válida o el contenido ya no está disponible.

19

Cómo crear un ePub a mano

¿Necesitas crear un EPUB?
Pásame el encargo y te ayudaré ajustado a tu presupuesto.

Kier­mel nos dice: «Ya hay un soft­ware con el que pue­des crear un EPUB de forma visual WYSIWYG. Se llama Sigil y tiene licen­cia de Fuente Abierta GPLv3: http://code.google.com/p/sigil/». Podéis leer un mini­tu­to­rial ilus­trado sobre cómo usar Sigil aquí.

Lo que sigue son ins­truc­cio­nes téc­ni­cas sobre el for­mato EPUB. La mayor parte de la infor­ma­ción pro­cede de aquí y de aquí.

Los docu­men­tos EPUB no son más que HTML, CSS, meta­da­tos e imá­ge­nes empa­que­ta­dos en un zip. Si uno abre el archivo con un ges­tor de archi­va­do­res puede extraer los con­te­ni­dos sin más (si no lle­van DRM). Sin embargo, los docu­men­tos que gene­ran algu­nos con­ver­so­res auto­má­ti­cos no vali­dan con epub­check y están lle­nos de mar­cas de estilo inú­ti­les. En oca­sio­nes nos puede intere­sar saber cómo mani­pu­lar direc­ta­mente un archivo EPUB sin uti­li­zar asistentes.

1. Requi­si­tos

  • Cono­cer HTML.
  • Cono­cer CSS.

2. Herra­mien­tas

  • Un edi­tor de tex­tos sen­ci­llo, mejor si resalta las pala­bras clave de CSSHTML.
  • Usua­rios de Win­dows: un com­pre­sor avan­zado de archi­vos zip.
  • Una plan­ti­lla. Cual­quier EPUB sin DRM que sepa­mos que fun­ciona puede servir.
  • Opcio­nal: GIMP, Pho­tos­hop, etc. para edi­tar imágenes.
  • Opcio­nal: epub­check (requiere Java). Tam­bién se pue­den vali­dar los EPUBs en línea aquí.
  • Un libro elec­tró­nico o soft­ware para com­pro­bar el resultado.

3. Pre­pa­ra­ción

Para acce­der a los con­te­ni­dos de un docu­mento en for­mato EPUB que vaya­mos a edi­tar o a usar como plan­ti­lla para crear uno nuevo sólo tene­mos que descomprimirlo.

La car­peta de tra­bajo debe­ría contener:

  • mimetype: es un archivo de texto sin exten­sión que debe con­te­ner «application/epub+zip», sin comillas.
  • META-INF: car­peta.
  • OEBPS: car­peta.

 

Den­tro de META-INF:

  • container.xml: es el archivo que indica dónde está el con­te­nido en sí. Es la línea en la que pone «full-path=“OEBPS/content.opf”». Nor­mal­mente no nece­si­ta­re­mos cambiarlo.

 

Den­tro de OEBPS:

  • content.opf: con­tiene los meta­da­tos, el mani­fiesto (la decla­ra­ción de lo que con­tiene) de nues­tro docu­mento y el orden de pre­sen­ta­ción. Si no vamos a cam­biar nada en la plan­ti­lla no ten­dre­mos que hacer mucho aparte de edi­tar los datos y el número de capítulos.

    La línea «dc:identifier» es el iden­ti­fi­ca­dor único. Detrás de “urn:uuid:” pode­mos poner el ISBN o cual­quier otro número que nos convenga.

    En «dc:language» figura el indi­ca­dor de idioma. Para el espa­ñol es «es». Para el espa­ñol de España es «es-es», para el de Argen­tina «es-ar», etc.

    En la sec­ción «mani­fest» se lis­tan los archi­vos que for­man parte del libro en sí:
    <item id="imgl" href="images/cover.jpg" media-type="image/jpeg"/>
    <item id="chapter01" href="Section0001.xhtml" media-type="application/xhtml+xml">
    ...

    El orden no importa. Cada capí­tulo debe­ría ir en un archivo sepa­rado, por ejem­plo “Section0001.xhtml” “Section0002.xhtml”, etc., y los tene­mos que lis­tar aquí, junto con cual­quier otra sec­ción que que­ra­mos añadir.

    El atri­buto «id» que de cada archivo se usa para orde­nar los con­te­ni­dos en la sec­ción «spine»:
    <spine toc="ncx">
      <itemref idref="cover"/>
      <itemref idref="titlepage"/>
    ...

    En el tag que abre la sec­ción se indica el id de la tabla de con­te­ni­dos (TOC).

  • toc.ncx: este es el índice. El enco­ding debe­ría ser «utf-8». En el meta­dato «dtb:uid» se indica la id que había­mos ele­gido. «dtb:depth» indica el número de nive­les del índice. En teo­ría «dtb:totalPageCount» y «dtb:maxPageNumber» son reque­ri­dos pero no hace falta poner­les un valor para que valide el EPUB.

    A con­ti­nua­ción viene la estruc­tura del índice. En los tags «nav­point» se indi­can los mis­mos id que apa­re­cen en content.opf para cada archivo. Los valo­res para «pla­yor­der» tie­nen que estar en orden y sin sal­tos de numeración.

  • stylesheet.css: La hoja de esti­los. En un libro ordi­na­rio no serán nece­sa­rio ser muy espe­cí­fi­cos con los for­ma­tos. Es mejor que los con­trole la apli­ca­ción del usuario.
  • cover.xhtml, titlepage.xhtml, copyright.xhtml, Section0001.xhtml, legal.xhtml…: Esto son las sec­cio­nes del libro en for­mato XHTML. Se pue­den crear tan­tas como se desee para poder acce­der a cada sec­ción desde el índice.
  • ima­ges: car­peta. Con­tiene las imá­ge­nes que acom­pa­ñan al texto, incluida la cubierta. Pro­ba­ble­mente los lec­to­res de ebooks espe­ren que el archivo se llame “cover.jpg” o “cover.png”. No hay nor­mas sobre el tamaño ade­cuado. Cuanto mayor sea la ima­gen mejor cali­dad ten­drá en lec­to­res de cierto tamaño, pero tam­bién aumen­tará de forma des­pro­por­cio­nada el tamaño del archivo.

4. Empa­que­tado

Para empa­que­tar de nuevo el libro, el archivo «mimetype» tiene que ir pri­mero y sin com­pre­sión. En Linux o en Mac sólo tene­mos que ir a la car­peta de tra­bajo en una ter­mi­nal y escribir:

zip -v0X miebook mimetype
zip -vr miebook * -x miebook.zip mimetype
mv miebook.zip miebook.epub

Por último, debe­ría­mos vali­dar el archivo. Si hemos bajado epub­check, vamos a la ter­mi­nal y escribimos:

java -jar epubcheck.jar "miebook.epub"

El pro­grama nos indi­cará si ha encon­trado algún error y qué tipo de error es.