Gostaria de saber se posso criar um leitor de EPUB (padrão de livro aberto e gratuito) em JavaScript. Os requisitos básicos seriam:
- Partes do servidor do leitor EPUB a partir de uma API do servidor.
- Leia os dados do EPUB em JavaScript.
- Renderize-o na página.
- Forneça algumas funcionalidades extras, como realces de texto ou anotações da página.
Não tenho informações sobre como eu poderia fazer isso. Estou disposto a tentar um projeto de protótipo. Quais são os passos que eu poderia tomar para implementar uma coisa dessas?
javascript
Vlad Nicula
fonte
fonte
Respostas:
Pelos seus comentários, parece que você está em um estágio conceitual muito inicial e deseja orientação geral ... bem, isso será muito difícil de fornecer, pois o tópico inteiro é bastante amplo. Mas, em geral, o que você quer fazer é:
Bem, isso está em um nível muito alto e não nos ajuda muito. Você pode dividir a etapa 1 lendo o próprio formato epub (por exemplo: artigo da wikipedia e informações gerais) Muito rapidamente, você deve observar que o formato usa o OCF para empacotar vários arquivos, portanto, seu primeiro problema será criar um leitor de OCF, o que também significa que você precisará descompactar os dados em javascript (os links de Florian Margaine devem você terá uma idéia de como os outros resolveram esse problema). Nesse ponto, eu começaria a procurar implementações existentes em javascript, porque você provavelmente não deseja implementar tudo isso desde o início. Isso é tudo antes mesmo de tocarmos no conteúdo real do arquivo epub. Depois de ultrapassar este ponto, você poderá ler o conteúdo real e tentar traduzi-lo para HTML.
Com relação à etapa 2, eu começava examinando os vários recursos fornecidos pelo epub - texto, estilo CSS, imagens incorporadas etc. - e começava a atacar aqueles um de cada vez, começando com o que desse mais retorno ao meu tempo (provavelmente texto ...)
fonte
TreineticEpubReader
é um fork popular,readium-js-viewer
pois fornece uma API muito simples para interagir com arquivos epub , você pode carregar o epub como .epub ou servir o caminho da pasta extraída do epubhttps://github.com/Treinetic/TreineticEpubReader
A biblioteca é javascript puro, para que você possa combinar com qualquer estrutura moderna. Aqui está um código de exemplo. Você também pode olhar para a
sample
pasta dentro da pastadist
para encontrar uma demonstração funcionalfonte