Empacotar e Verificar seu EPUB
Nesta altura, você já deve ter um pacote configurável EPUB pronto para empacotar. Esse pacote configurável poderá ser um novo livro que você mesmo criou ou um que utiliza os arquivos brutos disponíveis de Downloads.
Empacotando seu arquivo EPUB como um archive ZIP
A parte do Formato de Contêiner OEBPS da especificação EPUB possui diversas coisas para serem expostas sobre EPUB e ZIP, mas as mais importantes são:
- O primeiro arquivo no archive deve ser um arquivo tipo MIME (consulte Mimetype neste tutorial). O arquivo tipo MIME não deve ser compactado. Isso permite que utilitários não ZIP descubram o tipo MIME lendo os bytes brutos, começando da posição 30 no pacote configurável EPUB.
- O archive ZIP não pode ser criptografado. O EPUB suporta criptografia mas não no nível do arquivo zip.
Usando ZIP versão 2.3 sob um sistema operacional como o UNIX®, crie o arquivo EPUB ZIP em dois comandos, como em Listagem 11. (Esses comandos presumem que seu diretório atualmente em funcionamento seja seu projeto EPUB).
Listagem 11. Empacotando o EPUB em um arquivo epub+zip válido
$ zip -0Xq my-book.epub mimetype $ zip -Xr9Dq my-book.epub * |
No primeiro comando, você cria o novo archive ZIP e inclui
o arquivo tipo MIME sem nenhuma compactação.
No segundo, você inclui os itens restantes.
Os sinalizadores -X e -D minimizam
as informações irrelevantes no arquivo zip; -r incluirá recursivamente o conteúdo
dos diretórios META-INF e OEBPS.
Embora o padrão do EPUB não seja especialmente difícil, seus arquivos XML devem ser validados com esquemas específicos. Se você usar um editor XML ciente de esquema para gerar os metadados e XHTML, já terá mais de meio caminho andado. Faça uma verificação final com o pacote EpubCheck (consulte Resources).
Adobe mantém o pacote EpubCheck, e está disponível como um software livre sob licença de Berkeley Software Distribution (BSD). É um programa Java que pode executar como uma ferramenta independente ou como um aplicativo da web, ou pode ser integrado em um aplicativo que execute em Java Runtime Environment (JRE) versão 1.5 ou posterior.
Executá-lo a partir da linha de comando é simples. Listagem 12 dá um exemplo.
Listagem 12. Executando o utilitário EpubCheck
$ java -jar /path/to/epubcheck.jar my-book.epub |
Se você falhar ao criar alguns dos arquivos auxiliares ou se introduziu um erro nos arquivos de metadados, poderá obter uma mensagem de erro semelhante aquela em Listagem 13.
Lista 13. Amostra de erros do EpubCheck
my-book.epub: image file OEBPS/images/cover.png is missing
my-book.epub: resource OEBPS/stylesheet.css is missing
my-book.epub/OEBPS/title.html(7): 'OEBPS/images/cover.png':
referenced resource missing in the package
Check finished with warnings or errors!
|
Pode ser necessário configurar seu CLASSPATH aqui para apontar para o local da instalação EpubCheck, já que ele possui algumas bibliotecas externas para importar. Você provavelmente precisará configurar o CLASSPATH se receber uma mensagem como:
org.xml.sax.SAXParseException: no implementation available for schema language with namespace URI "http://www.ascc.net/xml/schematron" |
Se a validação foi bem-sucedida, verá "Nenhum erro ou avisos detectados". Nesse caso, parabéns por produzir seu primeiro EPUB!
Testar não serve somente para validação: Trata-se também de certificar-se de que o livro esteja correto. As folhas de estilo funcionam corretamente? As seções estão realmente na ordem lógica correta? O livro inclui todo o conteúdo esperado?
Diversos leitores do EPUB estão disponíveis para você usar para testar. a Figura 1 mostra uma captura de tela de Adobe Digital Editions (ADE), o leitor do EPUB mais usado normalmente.
Figura 1. O EPUB no ADE
As cores da fonte e imagens estão aparecendo, o que é bom. O ADE não apresenta renderização correta no título em uma fonte sans-serif, apesar de que isso pode ser um problema com o CSS. É interessante aqui verificar em outro leitor. a Figura 2 mostra o mesmo livro renderizado em meu software livre, Bookworm, leitor do EPUB baseado na web.
Figura 2. O EPUB em Bookworm
Neste caso, acontece apenas que esse ADE não suporta essa declaração particular. Conhecer as sutilezas de um software de leitura individual será fundamental se em seu livro digital for importante uma formatação precisa.
Agora que você já passou pelo processo trabalhoso de criação de um EPUB simples a partir de rascunho, veja o que é preciso para converter DocBook, um esquema de documentação XML comum, em EPUB.
