使用此a2x命令创建一个有效的.epub文件(book.epub):
$ a2x -v -k -f epub -d book book.asc
a2x: archiving: mimetype
a2x: archiving: META-INF/container.xml
a2x: archiving: OEBPS/ch01.html
a2x: archiving: OEBPS/ch02.html
a2x: archiving: OEBPS/content.opf
a2x: archiving: OEBPS/docbook-xsl.css
a2x: archiving: OEBPS/index.html
a2x: archiving: OEBPS/pr01.html
a2x: archiving: OEBPS/toc.ncx但是,如果我尝试使用.epub命令和zip命令的工件(包含在book.epub.d中)手动创建a2x存档,则生成的.epub文件无效:
$ zip -vr book.epub book.epub.d/ -x "*.DS_Store"
adding: book.epub.d/ (in=0) (out=0) (stored 0%)
adding: book.epub.d/META-INF/ (in=0) (out=0) (stored 0%)
adding: book.epub.d/META-INF/container.xml (in=255) (out=175) (deflated 31%)
adding: book.epub.d/mimetype (in=20) (out=20) (stored 0%)
adding: book.epub.d/OEBPS/ (in=0) (out=0) (stored 0%)
adding: book.epub.d/OEBPS/ch01.html (in=1161) (out=686) (deflated 41%)
adding: book.epub.d/OEBPS/ch02.html (in=679) (out=414) (deflated 39%)
adding: book.epub.d/OEBPS/content.opf (in=1288) (out=476) (deflated 63%)
adding: book.epub.d/OEBPS/docbook-xsl.css (in=5738) (out=1518) (deflated 74%)
adding: book.epub.d/OEBPS/index.html (in=1156) (out=590) (deflated 49%)
adding: book.epub.d/OEBPS/pr01.html (in=770) (out=485) (deflated 37%)
adding: book.epub.d/OEBPS/toc.ncx (in=772) (out=325) (deflated 58%)我怀疑这是因为存档的文件在路径中包含了book.epub.d。有没有办法排除这一点?
发布于 2014-03-25 11:03:18
下面是我成功使用的命令:
zip -Xr epubfilename.ePUB mimetype META-INF OEBPS -x \*.DS_Store这会将文件按正确的顺序放置(首先是mime类型,然后是META,接下来是container.xml,最后是所有其他内容),并排除.DS_store,因为它看起来像是在Mac上。
请注意,您需要在示例中的book.epub.d目录中执行此操作,以生成正确的输出。
如果您还没有这样做,我还建议使用epubcheck (https://github.com/IDPF/epubcheck或http://validator.idpf.org)进行双重检查。
发布于 2014-03-25 10:21:19
我执行一系列zip命令来压缩EPUB:
cd /home/bookdirectory (where mimetype, OEBPS and META-INF are subdirectories)
zip -X book.epub mimetype
zip -r book.epub META-INF
zip -r book.epub OEBPS我遇到了很长时间的麻烦,直到我意识到-X在mimetype压缩中是必不可少的。
我注意到您的拉链排除是小写x ..maybe开关,它是大写的吗?
https://stackoverflow.com/questions/22620183
复制相似问题