---
title: "Aprender sobre o formato EPUB: estrutura e conteúdo"
date: "2016-03-23"
categories: 
  - "technology"
tags: 
  - "epub"
  - "html-editor"
  - "xml-editor"
  - "xmlspy"
description: Explore a estrutura e o conteúdo do formato EPUB, incluindo a sua criação, edição e validação utilizando o XMLSpy, para um desenvolvimento e adaptação eficazes de livros eletrónicos.
---
Status: #blog

Tags:  #epub #html-editor #xml-editor #xmlspy

Categories: [development](/blog/pt/category/development.md)
# Aprender sobre o formato EPUB: estrutura e conteúdo

Os livros digitais revolucionaram a forma como um número crescente de pessoas consomem conteúdo escrito, permitindo o acesso fácil a uma vasta gama de publicações em leitores digitais, dispositivos móveis e computadores. Mas alguma vez se perguntou sobre a tecnologia que torna tudo isso possível?

Existem vários formatos utilizados para criar livros eletrónicos, e um dos mais populares é o formato EPUB, que segue padrões estabelecidos. Vamos analisar como o EPUB funciona, criando o nosso próprio livro eletrónico em formato EPUB, e depois reutilizando algumas páginas HTML existentes para enriquecer o conteúdo.

![leitor eletrónico](/blog/images/shutterstock_160560011.jpg)

<!--more-->

### O que é o formato EPUB?

O EPUB® (publicação eletrónica) é um padrão aberto do [Fórum Internacional de Publicação Digital](http://idpf.org/) ([IDPF](http://idpf.org/)) para a criação e distribuição de publicações digitais, como livros eletrónicos. O conteúdo EPUB é "adaptável", o que significa que pode ser acedido em qualquer um dos inúmeros leitores de livros eletrónicos que suportam o padrão (Kindle, Sony Reader, Nook, Kobo, etc.), bem como na maioria dos smartphones e tablets.

Um documento EPUB é composto por OPS (Estrutura de Publicação Aberta), OPF (Formato de Embalagem Aberto), OCF (Formato de Contêiner Aberto), XHTML, CSS, SVG, imagens e outros tipos de ficheiros, tudo num único formato de ficheiro interoperável, facilitando a distribuição e publicação.

### **Edição e validação de conteúdo EPUB**

Os componentes que constituem um documento EPUB são agrupados num arquivo compactado (zip). O XMLSpy inclui um [editor EPUB](https://www.altova.com/pt/xmlspy/epub-editor.html) para visualizar, adicionar, eliminar, validar e editar estes ficheiros e pastas. O XMLSpy também é fornecido com um exemplo de livro EPUB, para que possa explorar esta funcionalidade facilmente. Vamos criar um livro eletrónico do zero, para que possamos analisar melhor a estrutura e os componentes de cada documento. Neste exemplo, vamos criar um livro de receitas.

Comecemos por selecionar "Novo" no menu "Ficheiro" e, em seguida, clicar em "Publicação Eletrónica .epub". Depois de atribuirmos um nome ao nosso novo livro eletrónico e o guardarmos, ele abre no ambiente "Visualização de Arquivo" do XMLSpy, apresentando-se como uma estrutura básica que inclui todos os ficheiros e pastas necessários para criar um documento EPUB válido.

 

![clip_image001](https://lh6.ggpht.com/-CzXIKpEaLRM/T8Thb6BG4GI/AAAAAAAAAMA/Ohxr4NnTif8/clip_image001_thumb.png?imgmax=800 "clip_image001")

Como se pode ver acima, cada arquivo EPUB tem a seguinte estrutura e os seguintes componentes principais:

> |-- Mimetype file (Archive) |-- META-INF folder |             -- container.xml |-- DOCUMENT folder (_In the screenshot above, OEBPS is the Document folder.)_ |             -- contains HTML, CSS, image files, plus OPF and NCX files

O ficheiro OPF, tradicionalmente chamado "content.opf", contém os metadados do livro digital. É baseado no.. [Formato de embalagem aberto](http://idpf.org/epub/20/spec/OPF_2.0.1_draft.htm) Especificação OPF.

O ficheiro NCX (ficheiro de controlo de navegação para XML), tradicionalmente chamado toc.ncx, contém o índice do livro eletrónico. É baseado na parte [NCX](http://idpf.org/epub/20/spec/OPF_2.0.1_draft.htm) da especificação OPF.

A pasta com o nome META-INF deve conter o ficheiro container.xml, que aponta para o ficheiro que define o conteúdo do livro (o ficheiro OPF). O ficheiro container.xml especifica como os ficheiros do arquivo devem ser organizados, de acordo com as regras da especificação do [Formato de Contêiner Aberto](http://idpf.org/epub/201) (OCF).

O XMLSpy oferece assistentes de preenchimento contextuais e orientações úteis para a edição de todos estes ficheiros baseados em padrões. Vamos começar a criar o conteúdo do nosso livro eletrónico clicando duas vezes no ficheiro "title.html". Quando este abrir no editor HTML do XMLSpy, podemos ver imediatamente o que precisa de ser atualizado primeiro.

 

![clip_image002](https://lh4.ggpht.com/-ays7SNKpUaM/T8ThcRjaCaI/AAAAAAAAAMQ/4QESX1tPvCE/clip_image002_thumb.png?imgmax=800 "clip_image002")

Vamos adicionar algum conteúdo inicial com base nos espaços reservados no ficheiro, bem como elementos <h2> e <p> para a mensagem de boas-vindas.

Depois de guardar estas alterações, podemos voltar à vista "Arquivo" para visualizar o conteúdo do nosso documento EPUB até agora. Clicar no botão "Visualizar" gera um ficheiro HTML a partir do conteúdo do arquivo EPUB e exibe-o na vista integrada do navegador do XMLSpy.

 

![clip_image004](https://lh6.ggpht.com/-FlaLWTm_vUE/T8Thc5-q9qI/AAAAAAAAAMg/ga8Na_M4UQE/clip_image004_thumb.jpg?imgmax=800 "clip_image004")

 

Como podem ver, ainda faltam algumas informações necessárias. Vamos dar um duplo clique no ficheiro content.opf para adicionar os metadados do livro eletrónico. Desta vez, podemos mudar para a vista de grade para inserir os dados. É fácil alternar entre os métodos de edição baseados em texto e os métodos gráficos, dependendo da sua preferência.

 

![clip_image005](https://lh6.ggpht.com/-NmT7BuGHue8/T8ThdaU0hlI/AAAAAAAAAMw/Coe6KHhhFcU/clip_image005_thumb.png?imgmax=800 "clip_image005")

 

Clicar novamente em "Visualizar" mostra que as informações que fornecemos inicialmente estão corretas.

 

![clip_image006](https://lh5.ggpht.com/-Bc8lWZxIkdM/T8TheB24P6I/AAAAAAAAANA/ysCGNHqmC0s/clip_image006_thumb.png?imgmax=800 "clip_image006")

 

Antes de prosseguir, vamos [verificar o ficheiro EPUB](https://www.altova.com/pt/xmlspy/epub-editor.html) para garantir a compatibilidade, pressionando a tecla F8.

 

![clip_image007](https://lh4.ggpht.com/-Vls8qXkX-mg/T8ThelnByZI/AAAAAAAAANM/3o4FwAwlp1M/clip_image007_thumb.png?imgmax=800 "clip_image007")

O nosso ficheiro é válido e podemos continuar a adicionar o restante do conteúdo ao arquivo EPUB para finalizar o nosso livro eletrónico. Quando existem erros, a janela de validação do XMLSpy lista e descreve cada ocorrência, com um link para o local onde o erro se encontra no ficheiro, para facilitar a resolução de problemas.

### **Reutilização de conteúdo existente em formato EPUB**

Com a grande variedade de opções que os leitores têm atualmente para consumir conteúdo escrito – desde livros eletrónicos a ficheiros PDF e páginas web –, tornou-se uma exigência comum que o mesmo conteúdo esteja disponível para consulta através de vários canais. E quanto mais fácil for fazer isso, melhor.

É fácil reutilizar conteúdo HTML de um site num documento EPUB no XMLSpy. Continuemos com o nosso exemplo, adicionando algumas páginas HTML existentes do blog de culinária do autor para enriquecer o conteúdo do livro eletrónico.

Podemos adicionar esses artigos do blog clicando no botão "Adicionar Documento" na visualização de arquivo e, em seguida, navegando para selecionar os ficheiros.

 

![clip_image008](https://lh6.ggpht.com/-NFToE0AQxbY/T8ThfMtNwaI/AAAAAAAAANc/CxteWWcrGdE/clip_image008_thumb.png?imgmax=800 "clip_image008")

 

Também é necessário adicionar as imagens que estão incluídas nas páginas HTML. Como estes são ficheiros binários, a melhor forma de o fazer é abrir o documento EPUB utilizando o WinZip ou o WinRAR e adicionar os ficheiros necessários ao arquivo.

 

![clip_image009](https://lh5.ggpht.com/-7PtZiNpYSg0/T8Thf33d7oI/AAAAAAAAANw/3RkPcE8EB3A/clip_image009_thumb.png?imgmax=800 "clip_image009")

 

Assim que salvarmos o arquivo ZIP, o documento EPUB no XMLSpy refletirá as alterações.

Em seguida, vamos atualizar o ficheiro "Table of Contents" (toc.ncx) para que este aponte para as páginas HTML, criando um "NavPoint" e um "NavLabel" separados para cada página HTML...

 

![clip_image010](https://lh6.ggpht.com/-Mrcd7Y33dq4/T8Thge6sOtI/AAAAAAAAAOA/ZzF6MXByGRY/clip_image010_thumb.png?imgmax=800 "clip_image010")

 

...e atualizar o ficheiro content.opf para incluir as nossas páginas HTML como parte do manifesto EPUB.

 

![clip_image011](https://lh6.ggpht.com/-R8_rBTW2jnw/T8Thg_3uO5I/AAAAAAAAAOQ/eQS_nGvaDio/clip_image011_thumb.png?imgmax=800 "clip_image011")

 

Desta vez, quando clicamos em "Visualizar", vemos os dois artigos que adicionámos e podemos navegar para cada um deles.

 

![clip_image012](https://lh4.ggpht.com/-KVzkp3VC5_A/T8ThhuqtFHI/AAAAAAAAAOg/Ro-i7N-AlbQ/clip_image012_thumb.png?imgmax=800 "clip_image012")

 

O nosso livro eletrónico está a ficar pronto!

Este é, naturalmente, um exemplo muito simples, mas é útil para compreender a estrutura dos documentos EPUB e demonstrar como é fácil reutilizar conteúdo existente em formato EPUB. Além da interface de visualização de arquivos, fácil de usar, o XMLSpy oferece suporte de edição inteligente para as tecnologias necessárias para a apresentação mais sofisticada de livros eletrónicos: [XML](https://www.altova.com/pt/xml-editor/), [XHTML](https://www.altova.com/pt/xmlspy/html-editor.html), [HTML](https://www.altova.com/pt/xmlspy/html-editor.html), [CSS](https://www.altova.com/pt/xmlspy/css-editor.html), etc.

Para visualizar a estrutura de um livro EPUB completo, abra o ficheiro TheCantervilleGhost.epub no projeto XMLSpy Examples, ou aceda a um dos livros EPUB gratuitos disponíveis na Internet. Uma excelente fonte é o [Project Gutenberg](http://www.gutenberg.org/wiki/Main_Page).

Se ainda não é cliente da XMLSpy, pode descarregar uma [versão de avaliação gratuita do XMLSpy](https://www.altova.com/pt/download-trial/) para experimentar o programa.
