加载 ePub — 简单的 ePub 阅读器问题

发布于 2024-08-01 13:57:08 字数 548 浏览 10 评论 0原文

我正在 iPhone 上开发一个简单的 epub 阅读器,但一直想知道如何加载它。 我知道阅读 PDF 等文件有些简单,因为它本身就是一个文件,可以使用 UIWebView 或 CoreGraphics 加载。 它与 ePub 不同,ePub 需要更多的工作来获取(解析 xml 等)内容,因为它本质上是一个 ZIP 文件。

现在我想到的做法是执行以下操作。 但我不确定这是否是正确的方法:

  1. 将 book.epub 文件下载到 UserDomain,如本例所示
  2. 解压缩 book.epub 文件以创建一个图书目录,其中所有内容都
  3. 将从创建的图书目录中访问文件并做必要的事情(检索、解析……等)。
  4. 当epub被卸载或应用程序被关闭时,删除解压版本--book目录
  5. 再次打开book.epub时从解压开始循环。

除非我可以直接访问 ePub 文件内容,否则我想没有必要解压缩它们......这不太可能,因为它是 ZIP。

预先感谢您的任何帮助。 :)

亲切的问候, 奥努

I'm developing a simple epub reader on iPhone but been wondering how to go about loading it. I know reading files such as a PDF is somewhat straightforward because it's one file in itself and can be loaded using UIWebView or CoreGraphics. It's unlike ePub which requires a bit more work to get(parsing xml's ...etc) the contents since it's essentially a ZIP file.

Now the way I thought of doing it is by doing the following. But I'm not sure if it's the right way:

  1. Download the book.epub file to UserDomain as in this example
  2. Unzip book.epub file to create a book dir where all the contents will be
  3. From the created book dir, access the files and do the necessary(retrieve, parse.. etc).
  4. When the epub is unloaded or application's been closed, delete unzipped version -- the book dir
  5. Do the cycle from unzipping when opening the book.epub again.

Unless I can access ePub file contents directly, I guess there's no need to unzip them... which is unlikely because it's a ZIP.

Thanks in advance for any help. :)

Kind regards,
oonoo

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

胡渣熟男 2024-08-08 13:57:08

在我看来一切都很好。 另一种选择是将 zip 的内容提取到内存中的 NSData 对象,但这可能不适用于非常大的文件。

That all looks fine to me. Another option would be to extract the contents of the zip to NSData objects in memory, but that may not work on extremely large files.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文