用a2x和ZIP创建epub

时间:2014-03-24 20:43:00

标签: macos epub a2x

使用此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

但是,如果我尝试使用a2x命令和zip命令的工件(包含在 book.epub.d 中)手动创建.epub存档,生成的.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。有没有办法排除这个?

2 个答案:

答案 0 :(得分:2)

我连续拉链命令拉链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是必不可少的。

我注意到你的zip排除是一个小写的x ..可能会切换到大写?

答案 1 :(得分:2)

这是我成功使用的命令:

zip -Xr epubfilename.ePUB mimetype  META-INF OEBPS -x \*.DS_Store

这会按正确的顺序放置文件(首先是mime类型,然后是带有container.xml的META-INF,最后是其他所有内容)并排除.DS_store,因为它看起来像是在Mac上。

请注意,您需要在示例中的book.epub.d目录中执行此操作,以生成正确的输出。

如果您还没有这样做,我还建议您使用epubcheck(https://github.com/IDPF/epubcheckhttp://validator.idpf.org)仔细检查结果。