代码之家  ›  专栏  ›  技术社区  ›  iOS

iPhone-读取.epub文件

  •  1
  • iOS  · 技术社区  · 14 年前

    我正在准备一个关于在iPhone中读取.epub文件的应用程序。在哪里可以获得用于解压缩和解析文件的示例应用程序的引用?有人能给我一个最好的链接吗?提前谢谢你。

    2 回复  |  直到 14 年前
        1
  •  0
  •   Nic Gibson    14 年前

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

    简而言之,您可以通过

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

    如果你想做对的话,你也应该处理好 DTBook 内容也一样。

    如果你想做正确的事,你需要阅读并理解 Open Packaging Format (OPF) Open Publication Structure (OPS) 规格也一样。

        2
  •  2
  •   Ole Begemann    14 年前

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

    更多信息: Epub Format Construction Guide