An .epub file is just a .zip file. EPUB文件是一个zip文件。 It contains a few directory files in XML format and the actual book content is usually XHTML.它包含一些XML格式的目录中的文件和原书的内容通常是XHTML。 You can use Objective-Zip to unzip the .epub file and then use NSXMLParser
to parse the XML files.您可以使用Objective-ZIP的 。EPUB文件解压缩,然后使用NSXMLParser
解析XML文件。
工具/原料
可能需要的软件:pledit.exe
步骤/方法
1、将epub格式电子书重命名为.rar,然后解压,并命名为:XXXX.epub,这个XXXX应该是全英文,由你编。
2、winscp登陆到ipad的下列位置:/private/var/mobile/Media/Books。
3、将你刚才解压后的epub文件全部拷入 :/private/var/mobile/Media/Books。
4、将books.plist文件拷到你的电脑上(如果winscp支持显示中文的话,就不用),用pledit.exe这个软件打开 books.plist。将下面这些文字拷到下面,也可以自己选中books.plist中的相关内容复制并编辑.注:文中有红字的地方不用拷。保存。
5、将books.plist拷回覆盖。请注意先备份books.plist,以免出错。OK了,打开ibooks,书是不是在了呢?虽然有点麻烦,也免去了不同电脑之间同步的麻烦。
On top of Ole’s answer (that’s a pretty good how-to guide), it’s definitely worth reading the specification for the Open Container Format (OCF) – sorry it’s a word file.在顶部的OLE的回答(这是一个相当不错的how-to指南),这绝对是值得一读的开放式容器格式(OCF)的规范-对不起,这是一个Word文件。 It’s the formal specification for the for zip structure used.这是zip的结构使用的正式规范。
In brief you parse the file by在简要解析文件
Checking it’s plausibly valid by looking for the text ‘mimetype’ starting at byte 30 and the text ‘application/epub+zip’ starting at byte 38.检查振振有词有效寻找文本的MIME类型,在30字节的开始和文本的应用程序/ EPUB +拉链开始在字节38。
Extracting the file META-INF/container.xml from the zip提取的文件META-INF/container.xml的从zip
Parsing that file and extracting the value of the full-path attribute of the first rootfile element in it.解析该文件,并提取的的第一full-path rootfile元件在它的full-path的属性的值。
Load the referenced file (the full-path attribute is a URL relative to the root of zip file)加载引用的文件( full-path属性是相对于压缩文件的根URL)
Parse that file.解析该文件。 It contains all the metadata required to reference all the other content (mostly XHTML/CSS/images).它包含了所有的元数据,需要引用的所有其他内容(主要是XHTML / CSS /图片)。 Particularly you want to read the contents of the spine element which will list all content files in reading order.特别是你想要阅读的内容,的spine元素,将列出所有的内容文件的阅读顺序。
If you want to do it right, you should probably also handle DTBook content as well.如果你想要做的是正确的,你应该也处理DTBook的内容。
If you want to do this right, you need to read and understand the Open Packaging Format (OPF) and Open Publication Structure (OPS) specifications as well.如果你想这样做的权利,你需要阅读和理解开放式封装格式(OPF)和开放出版结构(OPS)的规格。
- On top of Ole’s answer (that’s a pretty good how-to guide), it’s definitely worth reading the specification for the Open Container Format (OCF) – sorry it’s a word file.在顶部的OLE的回答(这是一个相当不错的how-to指南),这绝对是值得一读的开放式容器格式(OCF)的规范-对不起,这是一个Word文件。 It’s the formal specification for the for zip structure used.这是zip的结构使用的正式规范。In brief you parse the file by在简要解析文件
- Checking it’s plausibly valid by looking for the text ‘mimetype’ starting at byte 30 and the text ‘application/epub+zip’ starting at byte 38.检查振振有词有效寻找文本的MIME类型,在30字节的开始和文本的应用程序/ EPUB +拉链开始在字节38。
- Extracting the file META-INF/container.xml from the zip提取的文件META-INF/container.xml的从zip
- Parsing that file and extracting the value of the
full-path
attribute of the firstrootfile
element in it.解析该文件,并提取的的第一full-path
rootfile
元件在它的full-path
的属性的值。 - Load the referenced file (the
full-path
attribute is a URL relative to the root of zip file)加载引用的文件(full-path
属性是相对于压缩文件的根URL) - Parse that file.解析该文件。 It contains all the metadata required to reference all the other content (mostly XHTML/CSS/images).它包含了所有的元数据,需要引用的所有其他内容(主要是XHTML / CSS /图片)。 Particularly you want to read the contents of the
spine
element which will list all content files in reading order.特别是你想要阅读的内容,的spine
元素,将列出所有的内容文件的阅读顺序。