Comment puis-je afficher le format epub livre en pur HTML5/CSS/Jquery
Est-il possible d'afficher le format epub livres dans un navigateur web à l'aide de pure HTML5, CSS et Jquery? Quelqu'un pourrait-il s'il vous plaît suggérer comment dois-je faire? Je dois aussi faire de ce réactif pour être en mesure de le faire fonctionner sur l'iPad. Je sais, mais je ne sais pas comment lire le format epub à l'aide de HTML et de Javascript.
Le format epub peut contenir certaines fonctions mathématiques et j'ai besoin de les afficher correctement.
OriginalL'auteur Jack | 2013-01-28
Vous devez vous connecter pour publier un commentaire.
Oui, c'est possible.
Pourquoi voulez-vous écrire un epub reader? Il y a déjà beaucoup là-bas.
Dans tous les cas, votre question est une forme spécifique de la question générique, il est possible d'écrire un ebook reader pour les fichiers epub? De toute évidence, oui, il est, peut avoir été écrite. Si vous pouvez l'écrire dans une langue ou d'une plate-forme, vous pouvez l'écrire dans une ou pour l'autre.
Mais en fait, vous n'avez même pas besoin d'écrire un lecteur, car les epub sont seulement de petits sites web dans une boîte. Décompressez le fichier epub quelque part sur votre serveur, et de naviguer dans le navigateur à l'une des pages. Voila, vous êtes en train de lire. Vous voulez une table des matières? Accédez à la table des matières.xhtml ou équivalent fichier et là vous allez.
Ce sujet de se déplacer d'une page à l'autre? Vous aurez besoin de savoir quel ordre les pages sont censés être affichés. Écrire un petit composant serveur qui traite le fichier normalement appelé contenu.opf, et basé sur l'ordre des fichiers dans l'élément manifest, émettre un peu de HTML qui a un avant et bouton de retour et un iframe pour afficher le contenu. Pendant que vous y êtes, d'analyser le titre et d'autres métadonnées. Tout cela est essentiellement ce que epubjs.
Mais je intuit de votre question que vous voulez faire entièrement sur le client/navigateur de côté. Eh bien, cela a déjà été fait, dans la forme de Readium, vous devriez jeter un oeil à. Utilisez votre favori JS décompression de la bibliothèque (attention, peut être lent) pour décompresser le fichier epub, et écrire un peu de JS pour analyser les métadonnées et jeter les pages, encore une fois, probablement dans l'iframe avec certains de chrome autour d'eux.
Mais que faire si vous voulez paginé de sortie, les gens sont venus à attendre de lecteurs de livres électroniques? C'est là que les choses commencent à s'arracher les cheveux, et est probablement un bon endroit pour prendre du recul et demandez-vous une fois de plus pourquoi vous faites cela. De toute façon, si vous décidez que vous voulez vraiment paginé affichage, alors vous allez avoir besoin de comprendre une combinaison de la logique impliquant le fenêtrage, le cadrage, détourage, de compensation et/ou de l'utilisation de "régions" pour vous aider ici. Certains lecteurs ebook juste punt ici, et dire, quel est le problème avec défilement/unpaginated de sortie de toute façon?
Mais les lecteurs ebook en faire beaucoup d'autres choses. Par exemple, la plupart vous permettent de modifier l'espacement des lignes, ou des marges, ou de taille de police. Comment ces paramètres utilisateur d'interagir avec le style dans le livre de fichiers CSS? Certains lecteurs prennent l'approche de l'analyse de la CSS (il y a des bibliothèques pour ça aussi) et de le réécrire pour obtenir les résultats que vous ou votre utilisateur veut.
Préférez une application au lieu d'une application navigateur? Envelopper tout le toutim dans PhoneGap.
Vous allez avoir à vous soucier de beaucoup, beaucoup d'autres choses à faire compétente lecteur. Juste à côté du haut de ma tête, qui comprend l'affichage du "guide" ou "points de repère" certains livres spécifier, se souvenant de la lecture de l'emplacement et les options de l'utilisateur à partir d'une session à l'autre, et probablement fournir une sorte de bibliothèque de la fonctionnalité.
Bien que certains côté client ebook lecteurs à faire usage jQuery, gardez à l'esprit que, depuis les epub sont HTML5/CSS2.5/JS, le contenu lui-même ne peut être fiable affiché par un navigateur moderne. Mais si vous avez un navigateur moderne, vous n'avez pas besoin de 90% des cheveux en jQuery qui est conçu pour la compatibilité inter-navigateur. Vous seriez mieux avec plus de composants légers, comme l'épine Dorsale et/ou de Soulignement. Vous n'avez probablement même pas besoin d'un sélecteur de bibliothèque, car vous aurez querySelector.
Bonne chance!
OriginalL'auteur
De documents scientifiques (articles de journaux), il y a une "meilleure solution" pour simulant EPUB reader au navigateur. Il peut utiliser des fichiers XML (JATS) ou XHTML (à partir de EPUB) de contenu.
Le PubReader utilisation caractéristiques et des fonctions qui sont disponibles dans le HTML5 et le CSS3.
Avec CSS et Javascript, il met en œuvre la mise en forme, de pagination, de navigation, de texte et de le redistribuer.
L'article entier est chargé dans le navigateur qu'une seule page HTML, et les poignées de pagination, etc. à l'échelle locale.
Voir:
PubMed Central, PubReader en action!
PubReader description
PubReader code source
PS: PubReader est similaire à la @torazaburo suggestion, le EPUB-Readium interface de navigateur.
OriginalL'auteur Peter Krauss
Vérifier ce projet sur GitHub. C'est un javascript epub reader. C'est un peu vieux, mais il fait ce que vous demandez.
OriginalL'auteur x_maras