知道如何在epub阅读器中实现“分页符”吗? .epub只是HTML页面,epub阅读器呈现这些html页面。 但我想知道像Adobe Digital Edition这样的一些epub读者是如何实现分页的。 在那里,当我们跳转到任何页面时,你将找不到一半显示的行(即只有字母的上半部分可见,下半部分将在下一页)或下一页中另一部分的半图像。 如果我无法在当前页面中完全显示该行,如何将该行推送到下一页?
知道如何在epub阅读器中实现“分页符”吗? .epub只是HTML页面,epub阅读器呈现这些html页面。 但我想知道像Adobe Digital Edition这样的一些epub读者是如何实现分页的。 在那里,当我们跳转到任何页面时,你将找不到一半显示的行(即只有字母的上半部分可见,下半部分将在下一页)或下一页中另一部分的半图像。 如果我无法在当前页面中完全显示该行,如何将该行推送到下一页?
EPUB并没有真正的页面概念 - 它意味着流动的可回流内容适合显示容器的尺寸。所以你的建议是有点黑客。
也就是说,用户对页面感到满意,大多数读者都实现了页面的一些概念。
你需要的是实现类似Knuth的分页算法,而这又取决于他的段落和换行算法。请参阅他的TeX书中的完整文字代码(IIRC,它在Pascal中)。 (这不是一段复杂的代码 - 我在多年前写过的桌面出版程序中实现了一个代码)。
如果你走这条路线,就意味着你可能无法使用UIWebView。
顺便说一句,Adobe Digital Edition实现了Knuth算法的变体。
EPUB并没有真正的页面概念 - 它意味着流动的可回流内容适合显示容器的尺寸。所以你的建议是有点黑客。
也就是说,用户对页面感到满意,大多数读者都实现了页面的一些概念。
你需要的是实现类似Knuth的分页算法,而这又取决于他的段落和换行算法。请参阅他的TeX书中的完整文字代码(IIRC,它在Pascal中)。 (这不是一段复杂的代码 - 我在多年前写过的桌面出版程序中实现了一个代码)。
如果你走这条路线,就意味着你可能无法使用UIWebView。
顺便说一句,Adobe Digital Edition实现了Knuth算法的变体。
在底层的html中,你可以这样做:
<span style="page-break-after: always" />