Académique Documents
Professionnel Documents
Culture Documents
Introdução
Com a crescente popularização de tablets e leitores digitais não há dúvida de que os livros
eletrônicos vieram para ficar. O formato ePub vem cada vez mais se consolidando como o padrão
definitivo para eBooks. As editoras procuram profissionais especializados, mas, aqui no Brasil não
existem muitos que de fato possuem o know-how necessário para desenvolver livros no padrão. Na
verdade o que acontece é que as editoras estão alocando o tipo de profissional errado para a
função. Um diagramador padrão, acostumado com editoração impressa via softwares visuais como
Indesign vai ter problemas ao tentar lidar com linhas de código. Já um desenvolvedor front-end vai
se sentir em casa já que criar e editar um livro digital é basicamente lidar com XHTML e folhas de
estilo em CSS. Neste artigo vou comentar sobre as vantagens (e desvantagens) deste padrão e
como com algumas poucas dicas você poderá editar um livro digital.
Isto acontece por que o PDF é baseado no suporte físico de uma folha, o que simplesmente não faz
sentido no mundo digital. Vou explicar: um artista que pretende pintar uma nova obra de arte precisa
saber o tamanho da tela. Da mesma maneira, ao editar um livro, ou qualquer outro tipo de
documento para a impressão, é necessário saber o tamanho da folha para aí então fazermos toda a
diagramação. O problema é que em um ambiente digital não existe uma folha. Existe um viewport
(ou seja, área de visualização) que pode ser, bem, do tamanho que o usuário quiser! Se ele for ler o
https://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/ 1/14
24/01/2019 ePub: Aprenda a criar um livro digital - Artigos sobre HTML, JavaScript, CSS e d…
seu livro no browser pode aumentar e diminuir o tamanho da janela até a resolução máxima do
monitor. Ou pode optar por ler em um tablet, smartphone, eReader… Enfim, a questão é que não
temos como determinar a medida de altura e largura da mesma maneira que fazíamos com o papel.
E o PDF, como foi pensado para ser impresso, precisa desta medida fixa.
Sobre o ePub
ePub é abreviação de Eletronic Publication, ou seja, Publicação Eletrônica. É um formato de livro
aberto e gratuito criado pelo IDPF, um fórum internacional de publicação digital. Os livros deste
formato são fluidos, o que permite que a experiência de leitura seja legal em qualquer tamanho da
tela, sistema operacional ou dispositivo que você escolher. Desde que você tenha um app para isto,
é claro. Mas isto não é muita preocupação. Existem leitores gratuitos para quase todos os aparelhos
e sistemas operacionais (se você não conhece nenhum dê uma olhadinha no final do texto). Outro
aspecto bacana do ePub é o controle que ele dá ao usuário. É possível realizar buscas, navegar
através de links, aumentar e diminuir o tamanho da letra, trocar as fontes, a paleta de cores, etc.
Sim, isto significa que se o cara quiser ler o livro inteiro em Comics Sans ele pode! Mas se isto
deixar o usuário feliz quem somos nós para dizer não?
Como editar
Bem, agora que você já sabe como ler e por que usar, vamos descobrir como é um livro digital por
dentro! Criei um livro de exemplo para utilizar neste tutorial. Você pode baixa-lo aqui. Mas qualquer
outro livro que você tiver neste formato vai servir para o nosso experimento.
A extensão ePub é um formato de livros compactado. Faça um teste: renomeie o arquivo deste
tutorial de meulivro.epub para meulivro.zip ou meulivro.rar que você poderá ver o conteúdo do
pacote. No entanto, uma coisa importante de se ter em mente é que não são todos os softwares
editores que estão preparados para salvar neste formato. Até dá para ler os arquivos XHTML
separados, mas você teria que abrir manualmente, editar e recompactar a cada mudança de volta
para ePub o que não seria nada prático. Felizmente existem alguns softwares como Sigil que são
específicos para a edição de código de ePubs. Eles não tem um visual muito bonito mas cumprem
com a função direitinho. Bem, vamos explorar os arquivos…
Obs. Existem outras especificações opcionais, mas vou me manter dentro do fundamental.
https://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/ 2/14
24/01/2019 ePub: Aprenda a criar um livro digital - Artigos sobre HTML, JavaScript, CSS e d…
A Estrutura
Vamos voltar ao nosso ePub! Ao descompactar a pasta você vai ter o seguinte:
arquivo mimetype
pasta META-INF
container.xml
pasta OEBPS
content.opf
toc.ncx
style.css
titulo.html
capitulo1.html
capitulo2.html
Mimetype
application/epub+zip
Salve como mimetype (sem nenhuma extensão) e pronto. Está feito! O mimetype é igual para
qualquer ePub. Então copiar de um outro ePub da certo também.
https://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/ 3/14
24/01/2019 ePub: Aprenda a criar um livro digital - Artigos sobre HTML, JavaScript, CSS e d…
Container.xml
Deve ficar dentro da pasta META-INF. A função deste arquivo é agregar todos os outros. Bora criar
um!
<container xmlns=”urn:oasis:names:tc:opendocument:xmlns:container&#
<rootfiles>
</rootfiles>
</container>
Content.opf
Descreve o conteúdo de todos os arquivos. Apesar da extensão esquisita é só criar um xml e depois
salvar como .opf É composto das seguintes partes: metadata, manifest e spine. O esqueleto dele é
assim:
</package>
Metadata
Itens obrigatórios:
https://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/ 4/14
24/01/2019 ePub: Aprenda a criar um livro digital - Artigos sobre HTML, JavaScript, CSS e d…
identifier – Um código único para o seu livro. Pode ser o ISBN, por exemplo.
Itens opcionais:
contributor – Contribuidor
publisher – Editora
subject – Assunto
date – Data
type – Tipo
format – Formato
source – Fonte
relation – Relação
coverage – Cobertura
Bem, vamos preencher nossas metadatas. Eu inseri o seguinte entre as tags package:
<dc:date opf:event=”original-publication”>2012</dc:date>
<dc:publisher>Tableless</dc:publisher>
<dc:date opf:event=”epub-publication”>2012-01-30</dc:date>
<dc:subject>Primeiro ePub</dc:subject>
<dc:subject>Estudos</dc:subject>
<dc:source>Tableless</dc:source>
https://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/ 5/14
24/01/2019 ePub: Aprenda a criar um livro digital - Artigos sobre HTML, JavaScript, CSS e d…
<dc:identifier id=”EPB-UUID”>minhaid</dc:identifier>
<dc:language>pt-br</dc:language>
</metadata>
Manifest
É um manifesto mesmo. Deve conter (em qualquer ordem) a lista de todos os arquivos da sua
publicação. Exceto mimetype, container.xml e content.opf É necessário especificar uma ID única
para cada arquivo. Você pode nserir estas informações antes ou depois da metadata. O importante
é que esteja também dentro da tag package. No caso do nosso livro-tutorial ficou assim:
<manifest>
</manifest>
Spine
A espinha do livro, ou seja, a ordem de leitura. Aqui você deve colocar apenas os arquivos tipo
HTML na ordem que você deseja que apareça no livro, chamando cada um pelo ID que você definiu
https://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/ 6/14
24/01/2019 ePub: Aprenda a criar um livro digital - Artigos sobre HTML, JavaScript, CSS e d…
no manifesto. Tome cuidado para não duplicar nenhum arquivo ou ID. Como você já adivinhou, deve
ser inserido entre as tags package também.
<spine toc=”ncx”>
</spine>
toc.ncx
TOC é uma sigla para Table of Contents, ou seja, o indice do livro. Também é um arquivo xml salvo
com a terminação .ncx Possui a seguinte estrutura:
#head
totalPageCount — to 0
maxPageNumber — to 0
#navMap
O sumário em si
#navPoint
id — único do arquivo
https://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/ 7/14
24/01/2019 ePub: Aprenda a criar um livro digital - Artigos sobre HTML, JavaScript, CSS e d…
<head>
</head>
<docTitle>
<text>Saga do primeiro ePub</text>
</docTitle>
<docAuthor>
<text>Dani</text>
</docAuthor>
<navMap>
<navLabel>
<text>Titulo</text>
</navLabel>
<content src=”titulo.html”/>
</navPoint>
<navLabel>
<text>Capitulo 1</text>
</navLabel>
<content src=”capitulo1.html”/>
</navPoint>
<navLabel>
<text>Capitulo 2</text>
</navLabel>
https://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/ 8/14
24/01/2019 ePub: Aprenda a criar um livro digital - Artigos sobre HTML, JavaScript, CSS e d…
<content src=”capitulo2.html”/>
</navPoint>
</navMap>
</ncx>
Os capítulos
É aqui que entra o livro em si. Cada capitulo deve ficar em um HTML separado. Estes arquivos não
são nada diferentes de HTMLs comuns:
<head>
</head>
<body>
<div>
<h3>Capítulo 1</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusm
</div>
</body>
</html>
https://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/ 9/14
24/01/2019 ePub: Aprenda a criar um livro digital - Artigos sobre HTML, JavaScript, CSS e d…
Pasta images – Aqui devem ficar as imagens do livro. Formatos permitidos: jpeg, png, gif e svg+xml
Pasta fonts – Utilize esta pasta se você quiser embedar algum arquivo de fonte no seu documento.
Lembre-se de utilizar sempre o formato Open Type pois alguns aplicativos de leitura não suportam
True Type.
Selecione todos os arquivos e crie um arquivo compactado (pode ser .zip ou .rar). Depois é só
renomear para .epub e ler no seu dispositivo favorito. Pronto! Você tem um livro digital!
Bem, se você é leitor do Tableless provavelmente não preciso dizer isso, mas vou dizer mesmo
assim! É muito importante utilizar uma estrutura semântica aqui. Tags h1 a h6 para títulos, p para
parágrafos… O que você já está mais do que cansado de saber a esta altura. Evite usar br para
quebrar a linhas por que sem ter o tamanho de um container é difícil determinar quando de fato vai
ser necessário quebrar a linha.
Leitores digitais não são tão sofisticados quanto browsers. Mantenha o seu CSS o mais simples
possível.
Como as “páginas” do seu livro vão aumentar e diminuir de acordo com o tamanho da tela do
dispositivo não utilize pixels como medida para nada. Lembre-se: EM para texto e margens,
https://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/ 10/14
24/01/2019 ePub: Aprenda a criar um livro digital - Artigos sobre HTML, JavaScript, CSS e d…
porcentagens para figura. Isto vai garantir que o seu livro continue proporcional e escalável. E o seu
leitor feliz!
Tamanho é Documento
Não use apenas um documento XHTML para o livro todo. A recomendação é que os capítulos
tenham menos de 300k cada. Mais do que isto pode deixar alguns leitores, como o iBooks por
exemplo, muito lentos! A razão é que estes apps consideram cada capítulo como um bloco de texto
diferente. Se você colocar tudo em um documento só o aplicativo vai carregar tudo de uma vez a
cada acesso.
Outra dica é tentar usar sempre imagens otimizadas para a web e com uma resolução não maior do
que 1200 x 1600px.
Evite usar fontes fora do padrão websafe. Você pode embedar fontes Open Type utilizando a
propriedade @font-face mas isto não significa que voce deve. Para começar não são todos os
leitores que aceitam isto e no final o seu arquivo pode ficar pesado demais e travar. E muitas vezes
pode ser um trabalho extra inútil já que o seu usuário pode muito facilmente trocar de fonte. Se
mesmo assim você quiser usar não escolha mais do que dois ou três tipos.
Edição visual
Sim. Existem alguns softwares que podem gerar o livro para você. O Adobe InDesign faz isto, o
Pages do Mac… Mas falando sério: não vale a pena. O código vai ficar sujo e no final você vai ter
que corrigir vários bugs. É como se você estivesse utilizando um editor “What you see is what you
get” para fazer um site. Acho que vocês entendem o drama. Mas… se você for realmente caminhar
por esta estrada escura tenha algumas coisas em mente:
Crie estilos específicos para o que é título, parágrafo, etc e não esqueça de
importa-los na hora de salvar o arquivo.
https://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/ 11/14
24/01/2019 ePub: Aprenda a criar um livro digital - Artigos sobre HTML, JavaScript, CSS e d…
Lembre-se que todas as imagens precisam estar ancoradas para que fluam
juntamente com o texto.
Os PDFs estão presos a um tamanho fixo, lembra? O que significa que as palavras precisam ser
hifenizadas. Se você converter automaticamente (além do seu código ser a coisa menos semântica
desde os sites feitos em tabelas) os hífens vão continuar lá, criando divisões no me-io das pala-vras
on-de não pre-cisava! Pense nos números das páginas… se o texto flui isso significa que um
mesmo livro pode (e vai) ter uma numeração diferente de acordo com o aparelho utilizado. Mas no
caso da conversão automática os números no pdf vão continuar lá. Os títulos provavelmente vão
estar errados também. Fora que muitos deixam marcas como “convertido pelo programa XYZ” em
todas as páginas do livro.
Links úteis
https://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/ 12/14
24/01/2019 ePub: Aprenda a criar um livro digital - Artigos sobre HTML, JavaScript, CSS e d…
Bibliotecas gratuitas
Google Books
ePub Bud
Mac & PC
Adobe Digital Editions
Nook
Linux
FB Reader
iOS
iBooks
Stanza
Android
Aldiko
Leitura no Browser
Magic Scroll – Google Chrome
https://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/ 13/14
24/01/2019 ePub: Aprenda a criar um livro digital - Artigos sobre HTML, JavaScript, CSS e d…
https://tableless.com.br/epub-aprenda-a-criar-um-livro-digital/ 14/14