11
votes

Comment mettre en œuvre "PAGE" dans EPUB Reader

Une idée de la mise en œuvre de la "pause de page" dans EPUB Reader? .ePub n'est que des pages HTML et l'EPUB Reader rend ces pages HTML. Mais je me demande comment certains lecteurs EPUB comme Adobe Digital Edition ont mis en œuvre une pause de page. Là, lorsque nous allons à n'importe quelle page, vous ne trouverez pas la moitié de la ligne affichée (I.e seule partie supérieure des lettres visible et inférieure figurera dans la page suivante) ou une demi-image où l'autre partie de la page suivante. Comment pousser la ligne à la page suivante si je ne peux pas l'afficher complètement dans la page en cours?


0 commentaires

3 Réponses :


0
votes

sans avoir une réponse définitive, vous pouvez:

  • Trouver une source complète d'informations sur EPUB est celle-ci IBM Article
  • Essayez une certaine expérience dans la création EPUB avec calibre et son manuel .

0 commentaires

1
votes

EPUB n'a pas vraiment de concept de pages-- Il est destiné à convertir du contenu qui coule pour s'adapter aux dimensions du conteneur d'affichage. Donc, ce que vous suggérez est un peu de hack.

Cela dit, les utilisateurs sont à l'aise avec les pages et la plupart des lecteurs impliquent un concept d'une page.

Ce dont vous aurez besoin est de mettre en œuvre quelque chose comme l'algorithme de la page de la page de Knut, qui dépend à son tour de son paragraphe et de son algorithme de rupture de ligne. Voir son livre Tex pour le code alphabétisé complet (IIRC, c'est à Pascal). (Ce n'est pas si complexe un morceau de code-- j'ai mis en œuvre un dans un programme d'édition de bureau que j'ai écrit de nombreuses années).

Si vous êtes allé cet itinéraire, cela signifie que vous ne pouviez probablement pas utiliser un uiWebView.

BTW, Adobe Digital Edition implémente une variation de l'algorithme de Knut.


3 commentaires

-1 Depuis que EPUBS veulent définitivement des pauses de page avant chapitres, etc. Comment le faire: Utilisez une règle CSS telle que Div.Chapter {page-pause-après: Toujours;}


Si CSS3 est une option: la famille de colonnes (lire l'impression fine dans la spécification W3C et vous verrez comment créer une taille de colonne de hauteur / largeur fixe) fonctionne des merveilles et nécessite uniquement un seul conteneur div, le reste est basé sur le "portail". Taille (ce faisant en Java pour une utilisation dans un webview)


Avez-vous une référence pour l'utilisation de l'algorithme de Knut d'Adobe Digital Edition? Je savais pour InDesign mais pas celui-ci.



12
votes

Dans le HTML sous-jacent, vous pouvez mettre quelque chose comme ceci:

<span style="page-break-after: always" />


1 commentaires

J'utilise ce style CSS pour créer des pauses de page. Fonctionne bien dans Stanza Reader (iPhone) et Kindle (après la conversion au format Kindle)