当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《如何将HTML文档分解为电子书页面?》经验,为你挑选了1个好方法。

对于iPhone电子书应用程序,我需要将任意长的HTML文档分解为完全适合一个屏幕的页面.如果我只是简单地使用UIWebView,那么最底部的线往往只能部分显示:其余的线从视图的边缘消失.

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

我不知道这是否可能,尽管像Stanza这样的应用程序采用HTML(epub)文件并很好地分页.自从我查看JavaScript以来,已经有很长一段时间,这是一个值得关注的选择吗?

任何建议非常感谢!

更新

所以我找到了一个可能的解决方案,使用JavaScript来注释每个元素的大小和位置的DOM树.然后应该可以重构树(使用内置的XSLT或JavaScript),将其剪切成恰好适合屏幕的页面.

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

所有这些听起来相当复杂.我在谈论任何意义吗?有更简单的方法吗?



1> user336639..:

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

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

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有