如何在epub阅读器中实现"分页符"

gan*_*ati 11 html javascript jquery

知道如何在epub阅读器中实现"分页符"吗?.epub只是HTML页面,epub阅读器呈现这些html页面.但我想知道像Adobe Digital Edition这样的一些epub读者是如何实现分页的.在那里,当我们跳转到任何页面时,您将找不到一半显示的行(即只有字母的上半部分可见,下半部分将在下一页中)或半图像,而下一页中的另一部分.如果我无法在当前页面中完全显示该行,如何将该行推送到下一页?

Blo*_*ard 9

在底层的html中,你可以输入这样的东西:

<span style="page-break-after: always" />
Run Code Online (Sandbox Code Playgroud)


小智 1

EPUB 实际上并没有页面的概念——它适用于可重排的内容,这些内容可以流动以适合显示容器的尺寸。所以你的建议有点像黑客。

也就是说,用户对页面感到满意,并且大多数读者都实现了页面的某些概念。

您需要的是实现类似 Knuth 的分页算法(这又取决于他的段落)和换行算法。请参阅他的 TeX 书以获取完整的文字代码(IIRC,它是 Pascal 语言的)。(这并不是那么复杂的一段代码——我在多年前编写的桌面出版程序中实现了一段代码)。

如果您选择了这条路线,则意味着您可能无法使用 UIWebView。

顺便说一句,Adobe Digital Edition 实现了 Knuth 算法的变体。

  • -1,因为 epub 肯定希望在章节之前分页,等等。如何做到这一点:使用 css 规则,例如 div.chapter {page-break-after:always;} (6认同)