Outils pour utilisateurs

Outils du site


articles:demos:bumblebee_book_reader_1

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
articles:demos:bumblebee_book_reader_1 [03/07/2012 21:26]
bumblebee [Quelques liens]
articles:demos:bumblebee_book_reader_1 [17/12/2012 23:45] (Version actuelle)
bumblebee [Quelques liens]
Ligne 1: Ligne 1:
 ====== Liseuse de livre numérique en ligne #1 ======  ====== Liseuse de livre numérique en ligne #1 ====== 
-[[https://doodleaday.wordpress.com/2009/10/12/doodle-240-robot-reading/|{{  :articles:demos:smallrobotreader.jpg?100|Robot Reading by Von Holdt}}]]Bossant dans le monde du livre et le livre numérique étant de plus en plus présent j'ai été amené plusieurs fois a me demander comment je pourrais afficher des livres numériques dans un navigateur. Sachant qu'il existe grosso-modo deux format principaux de livres numérique [[wpfr>epub]] et [[wpfr>pdf]] j'ai fini après quelque réflexion par me lancer dans deux //proof of concept// : [[http://demos.bumble-bee.fr/BumblebeeBookReader/|BumblebeeBookReader]]+[[https://doodleaday.wordpress.com/2009/10/12/doodle-240-robot-reading/|{{  :images:articles:demos:smallrobotreader.jpg?100|Robot Reading by Von Holdt}}]]Bossant dans le monde du livre et le livre numérique étant de plus en plus présent j'ai été amené plusieurs fois a me demander comment je pourrais afficher des livres numériques dans un navigateur. Sachant qu'il existe grosso-modo deux format principaux de livres numérique [[wpfr>epub]] et [[wpfr>pdf]] j'ai fini après quelque réflexion par me lancer dans deux //proof of concept// : [[http://demos.bumble-bee.fr/web-book-reader/|web-book-reader]] (le code source est disponible sur [[https://github.com/bumblebeefr/web-book-reader|github]]
  
-Ces liseuse ne sont que  des prototype et ne son pas complètes mais permettent d'afficher des livres d'exemple. Attention certains de ces livres ne sont pas dans le domaine publique et je n'en ai pas les droits d'exploitation, il ne sont la que comme des exemples ;)  (Lorsque j'aurais un peu de temps je tacherais de les remplacer par d'autres livres un peu plus libres ;-) )+Ces liseuses ne sont que  des prototypes et ne sont pas complètes mais permettent d'afficher des livres d'exemple. Attention certains de ces livres ne sont ni dans le domaine publique, ni sous licence libre et je n'en ai pas les droits d'exploitation, ils ne sont la que comme des exemples ;)  (Lorsque j'aurais un peu de temps je tacherais de les remplacer par d'autres livres un peu plus libres ;-) )
  
 ===== Liseuse Pdf ===== ===== Liseuse Pdf =====
Ligne 9: Ligne 9:
 Après quelques réflexions et tests j'ai fini par choisir de tout simplement exporter chaque page du pdf a afficher au format jpg et svg a l'aide des outils GNU/linux ''pdftoppm'' et ''pdf2svg''. Pourquoi ne pas uniquement utiliser le format svg ? Simplement parce-que certains navigateurs supportent encore mal le svg et que pour par exemple afficher une miniature, le svg n'est pas très performant. Après quelques réflexions et tests j'ai fini par choisir de tout simplement exporter chaque page du pdf a afficher au format jpg et svg a l'aide des outils GNU/linux ''pdftoppm'' et ''pdf2svg''. Pourquoi ne pas uniquement utiliser le format svg ? Simplement parce-que certains navigateurs supportent encore mal le svg et que pour par exemple afficher une miniature, le svg n'est pas très performant.
  
-Pour mon proto. j'ai choisi de de pré-extraire les données du pdf sur mon serveur, pour n'avoir ensuite plus qu'a développer à l'aide de javasript(jQuery) et HTML5 un viewer mimant le comportement d'une liseuse de pdf "traditionnelle" (Dans un projet réel il pourrait être intéressant de les extraire à la volée.) J'ai pour cela développe un petit script python  chargé d'extraire des images de toutes les pages mais aussi d'extraire la table des matière du pdf à l'aide de la librairie [[http://www.unixuser.org/~euske/python/pdfminer/index.html|pdfminer]].+Pour mon proto. j'ai choisi de de pré-extraire les données du pdf sur mon serveur, pour n'avoir ensuite plus qu'a développer à l'aide de javasript(jQuery) et HTML5 un viewer mimant le comportement d'une liseuse de pdf "traditionnelle" (Dans un projet réel il pourrait être intéressant de les extraire à la volée.) J'ai pour cela développe [[https://github.com/bumblebeefr/pdf-data-extractor|un petit script python]]  chargé d'extraire des images de toutes les pages mais aussi d'extraire la table des matière du pdf à l'aide de la librairie [[http://www.unixuser.org/~euske/python/pdfminer/index.html|pdfminer]].
  
  
Ligne 35: Ligne 35:
   * Rendre compatible avec IE (au moins le version 9)   * Rendre compatible avec IE (au moins le version 9)
   * Utiliser le cahce du navigateur pour permettre une lecture offline.   * Utiliser le cahce du navigateur pour permettre une lecture offline.
 +  * Convertir les pdf en epub3 fixed layout et ainsi mixer les deux liseuses.
   * ...   * ...
      
 ==== Exemples : ==== ==== Exemples : ====
-  * [[http://demos.bumble-bee.fr/BumblebeeBookReader/ProtoPdf3/?Les_Aventures_de_Sherlock_Holmes|Les Aventures de Sherlock Holmes]] +  * [[http://demos.bumble-bee.fr/web-book-reader/proto-pdf/?Les_Aventures_de_Sherlock_Holmes|Les Aventures de Sherlock Holmes]] 
-  * [[http://demos.bumble-bee.fr/BumblebeeBookReader/ProtoPdf3/?L_ile_au_tresor|L'ile au trésor]]+  * [[http://demos.bumble-bee.fr/web-book-reader/proto-pdf/?L_ile_au_tresor|L'ile au trésor]]
  
 ===== Liseuse Epub ===== ===== Liseuse Epub =====
Ligne 68: Ligne 69:
   * Revoir la compatibilité avec webkit (chrome et safari)   * Revoir la compatibilité avec webkit (chrome et safari)
   * Réfléchir à un mode "ascenseur" pour les navigateur ne supportant pas le layout colonnes CSS3   * Réfléchir à un mode "ascenseur" pour les navigateur ne supportant pas le layout colonnes CSS3
-  * Utiliser le cache navigateur pour mettre en place une lecture en ligne+  * Utiliser le cache navigateur pour mettre en place une lecture hors ligne
   * Permettre au lecteur de sélectionner le nombre de pages visibles (1, 2 3)   * Permettre au lecteur de sélectionner le nombre de pages visibles (1, 2 3)
-  * Permettre au lecteur, non seulement de changer la taille des caractères mais aussi la police d'affiche et la taille des marges.+  * Permettre au lecteur, non seulement de changer la taille des caractères mais aussi la police et la taille des marges.
   * Développer le support d'EPUB3 :   * Développer le support d'EPUB3 :
     * Mettre en place un systeme convertissant le fichier de navigation epub2 vers celui de la norme epub3 et utiliser ainsi toujours cette version     * Mettre en place un systeme convertissant le fichier de navigation epub2 vers celui de la norme epub3 et utiliser ainsi toujours cette version
Ligne 78: Ligne 79:
  
 ==== Exemples : ==== ==== Exemples : ====
-  * [[http://demos.bumble-bee.fr/BumblebeeBookReader/ProtoEpub1/?jquery1.epub_FILES|jQuery: Novice to Ninja]] +  * [[http://demos.bumble-bee.fr/web-book-reader/proto-epub/?Ile_myster_galica|L'ile mystérieuse]] 
-  * [[http://demos.bumble-bee.fr/BumblebeeBookReader/ProtoEpub1/?stevenson_ile_au_tresor.epub_FILES|L'ile au trésor]]+  * [[http://demos.bumble-bee.fr/web-book-reader/proto-epub/?stevenson_ile_au_tresor.epub_FILES|L'ile au trésor]] 
 +  * [[http://demos.bumble-bee.fr/web-book-reader/proto-epub/?jquery1.epub_FILES|jQuery: Novice to Ninja]]
  
 ===== Quelques liens ===== ===== Quelques liens =====
Ligne 89: Ligne 91:
     * [[http://code.google.com/p/epub-samples/wiki/FeatureMatrix#Fixed_Layout|Exemples de d'epub en particulier pour le fixeds layout]]     * [[http://code.google.com/p/epub-samples/wiki/FeatureMatrix#Fixed_Layout|Exemples de d'epub en particulier pour le fixeds layout]]
  
 +~~DISCUSSION~~
articles/demos/bumblebee_book_reader_1.1341343609.txt.gz · Dernière modification: 03/07/2012 21:26 de bumblebee