【问题标题】:iPhone - reading .epub filesiPhone - 阅读 .epub 文件
【发布时间】:2010-11-26 07:09:41
【问题描述】:

我正在准备一个关于在 iPhone 中读取 .epub 文件的应用程序。我在哪里可以获得用于解压缩和解析文件的示例应用程序的参考?任何人都可以通过最佳链接指导我吗?提前谢谢你。

【问题讨论】:

    标签: iphone unzip epub


    【解决方案1】:

    .epub 文件只是一个 .zip 文件。它包含一些 XML 格式的目录文件,实际的书籍内容通常是 XHTML。您可以使用Objective-Zip 解压缩.epub 文件,然后使用NSXMLParser 解析XML 文件。

    更多信息:Epub Format Construction Guide

    【讨论】:

      【解决方案2】:

      除了 Ole 的回答(这是一个很好的操作指南)之外,绝对值得阅读 Open Container Format (OCF) 的规范 - 抱歉,它是一个 word 文件。这是使用的 for zip 结构的正式规范。

      简而言之,您通过以下方式解析文件

      1. 通过查找从第 30 个字节开始的文本“mimetype”和从第 38 个字节开始的文本“application/epub+zip”来检查它是否合理。
      2. 从 zip 中提取文件 META-INF/container.xml
      3. 解析该文件并提取其中第一个 rootfile 元素的 full-path 属性的值。
      4. 加载引用的文件(full-path 属性是相对于 zip 文件根目录的 URL)
      5. 解析该文件。它包含引用所有其他内容(主要是 XHTML/CSS/图像)所需的所有元数据。特别是您想阅读 spine 元素的内容,该元素将按阅读顺序列出所有内容文件。

      如果您想正确处理,您可能还应该处理DTBook 内容。

      如果您想正确执行此操作,您还需要阅读并理解 Open Packaging Format (OPF)Open Publication Structure (OPS) 规范。

      【讨论】:

      • 据我所知,与我打交道的大多数公司都为此授权了 Adob​​e 的 SDK,或者(我认为)嵌入了 Stanza。抱歉 - 我使用的是 EPUB,而不是阅读系统。
      • 我刚刚被提醒有FBReader 开源项目。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-26
      • 1970-01-01
      • 2012-08-09
      • 2012-05-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多