2010-05-11 15 views
11

¿Alguna idea de cómo implementar 'salto de página' en el lector de epub? .epub no es más que páginas HTML, y el lector de epub renderiza esas páginas html. pero me pregunto cómo algunos lectores de epub como Adobe Digital Edition implementaron el salto de página. Allí, cuando saltamos a cualquier página, no encontrará la mitad de la línea visualizada (es decir, solo la parte superior de las letras estará visible y la parte inferior aparecerá en la página siguiente) o la mitad de las imágenes en la otra parte de la página siguiente. ¿Cómo presionar la línea a la página siguiente si no puedo mostrarla completamente en la página actual?cómo implementar 'salto de página' en el lector de epub

Respuesta

1

EPUB realmente no tiene un concepto de páginas, está destinado a contenido reflujo que fluye para adaptarse a las dimensiones del contenedor de la pantalla. Entonces, lo que estás sugiriendo es un poco complicado.

Dicho esto, los usuarios se sienten cómodos con las páginas, y la mayoría de los lectores implementan algún concepto de página.

Lo que necesitará es implementar algo así como el algoritmo de Knuth para descifrar páginas, que a su vez depende de su párrafo y de los algoritmos de salto de línea. Vea su libro TeX para obtener el código completo de alfabetización (IIRC, está en Pascal). (No es un código tan complejo, lo implementé en un programa de autoedición que escribí hace muchos años).

Si siguió esta ruta, significa que probablemente no pueda usar una UIWebView.

BTW, Adobe Digital Edition implementa una variación del algoritmo de Knuth.

+4

-1 ya ePubs definitivamente quieren saltos de página antes de capítulos, etc. cómo hacerlo: utilizar una regla CSS como div.chapter { page-break-after: always;} –

+0

si css3 es una opción: familia de columnas (lea la letra pequeña en la especificación W3C y verá cómo crear tamaños fijos de altura/ancho de columna) funciona de maravilla, y solo requiere un solo contenedor div el resto está basado en el tamaño del "portal" (haciendo esto en Java actualmente para usar en una vista web) – Dan

+0

¿Tiene alguna referencia para el uso del algoritmo de Knuth de Adobe Digital Edition? Lo sabía por InDesign pero no por este. –

0

Sin tener una respuesta definitiva, puede:

  • encontrar una fuente completa de información sobre epub es esto IBM article
  • intentar un experimento en la creación epub con Calibre y su manual.
9

en el HTML subyacente, puede poner algo como esto:

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

Utilizo este estilo CSS para crear saltos de página. Funciona bien en Stanza reader (iPhone) y Kindle (después de la conversión a formato Kindle) –

Cuestiones relacionadas