如何将HTML文档分解为电子书页面?

前端之家收集整理的这篇文章主要介绍了如何将HTML文档分解为电子书页面?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
对于iPhone电子书应用程序,我需要将任意长的 HTML文档分解成适合一个屏幕的页面.如果我只是使用UIWebView,最底层的行倾向于只显示部分:其余的消失在视图的边缘.

所以我假设我需要知道UIWebView会显示多少条完整的行(或字符),给定源HTML,然后将其精确地提供给正确的数据量.这可能涉及大量计算,用户还需要更改字体和大小.

我不知道如果这是可能的,虽然像Stanza这样的应用程序采用HTML(epub)文件,并很好地分页.自从我看了JavaScript以来,这是一个很长的时间,那是值得一看的选择吗?

任何建议非常感谢!

更新

所以我打了一个可能的解决方案,使用JavaScript来标注每个元素的大小和位置的DOM树.那么应该可以重构树(使用内置的XSLT或JavaScript),将其切割成完全符合屏幕的页面.

这里的其余问题是,这总是打破段落边界的页面,因为没有访问文本在比P元素更低的级别.也许这可以通过将文本解析成单词,将每个单词封装在SPAN标签中,重复上述测量过程,然后仅显示适合屏幕的SPAN元素,将剩余的元素插入下一个页.

这听起来很复杂.我说话有任何意义吗?有更简单的方法吗?

解决方法

你应该看看PagedMedia CSS模块: http://www.w3.org/TR/css3-page/
CSS3还支持多列布局(Google为“css3-multicol”),我没有足够的Karma来包含第二个链接:-)

关于你的更新:如何做一个单一页面的布局,然后使用DIV与溢出:隐藏的文本部分.接下来的事情将是覆盖一个透明的项目,这将根据一些导航控件(或手势)以编程方式向上或向下滚动DIV PAGE_HEIGHT像素的内容.

猜你在找的HTML相关文章