iPhone的UIWebView可以将epub文件分页显示吗?

4

书籍阅读应用程序(例如Stanza或Eucalyptus)将HTML格式的epub按页分割,以便行数清晰,并在正确的行处开始下一页,这真是非常有趣。 有人知道如何实现这一点吗?


我不清楚哪个部分让你感到困难。你尝试过什么?当你尝试那个时发生了什么?相反,你期望发生什么? - Olie
这个叫做分页(http://en.wikipedia.org/wiki/Pagination),它并不是一件简单的事情,但也不是太难 :) 你只需要在画布上逐个排列字形,保持顺序,并确保应用给定语言的规则。 - krzyspmac
1个回答

3
最简单的方法是在UIWebView中呈现epub中的章节,然后使用JavaScript计算页面边界。Cocoa和JS之间的接口有些棘手,但可以使用stringByEvaluatingJavaScriptFromString:在UIWebView内运行JS。
一旦你有了页面边界,你可以使用window.scrollTo(x,y);滚动章节,并根据页面边界调整UIWebView的大小,以防止底部显示任何不完整的行。

是的,您可以使用stringByEvaluatingJavaScriptFromString在UiWebview中使用JavaScript。由于ePub每页提取HTML文件,因此您可以在JavaScript中具有函数以使用Objective-C中的参数插入页面。但这取决于您的使用情况,如果您使用滑动功能,则可以添加计数器。如果所有页面都在一个uiwebview页面中,则可以使用window.scrollTo(x,y)。 - Zaldy Bughaw
如果我正在使用滑动页面,那么如何设置边界呢? - the1pawan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接