加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

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

发布时间:2020-12-14 18:58:02 所属栏目:资源 来源:网络整理
导读:对于iPhone电子书应用程序,我需要将任意长的 HTML文档分解成适合一个屏幕的页面.如果我只是使用UIWebView,最底层的行倾向于只显示部分:其余的消失在视图的边缘. 所以我假设我需要知道UIWebView会显示多少条完整的行(或字符),给定源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像素的内容.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读