使MIMETYPE文件成为EPUB ZIP文件中的第一个文件?

问题描述:

我的目标是通过AppleScript创建一个EPUB文件,我将从半手动生成一个EPUB文件开始。我的问题是,IDPF EPUB验证程序报告说我的MIMETYPE文件不是我的EPUB软件包中的第一个文件,或者我的MIMETYPE文件不存在。我的AppleScript是创建EPUB文件夹结构和MIMETYPE文件:使MIMETYPE文件成为EPUB ZIP文件中的第一个文件?

set EPUBMIMETYPEfilepath to ((EPUBfolderPath & ":MIMETYPE") as string) 

set referenceToEPUBMIMETYPEfile to a reference to file EPUBMIMETYPEfilepath 

open for access referenceToEPUBMIMETYPEfile with write permission 

write "application/epub+zip" to referenceToEPUBMIMETYPEfile 

close access referenceToEPUBMIMETYPEfile 

所以,后来当我有文件夹和文件类似标准的EPUB结构的集合,我使用命令行ZIP了EPUB:

zip -X0 ../epubFilename.epub MIMETYPE 
zip -rDX9 ../epubFilename.epub.epub META-INF -x "*.DS_Store" 
zip -rDX9 ../epubFilename.epub.epub OPS -x "*.DS_Store" 

后来我可以解压缩我的EPUB和实际看到有确实内的mimetype文件,但也许不是第一个文件,因为该META-INF文件夹第一排序?

问题:有没有人有任何提示,通过Mac上的命令行创建一个EPUB?

+0

嘿!我尝试了以上所有内容,除了将文件名以前的MIMETYPE(大写)改为小写mimetype ... IDPF验证程序不再报告问题:mime类型文件...因此,我想他们的验证程序会查找小写文件名 – 2014-09-19 16:37:36

正如你发现的那样,mimetype文件名必须是小写。在EPUB格式所需的文件中,只有META-INF /目录应该具有大写名称。顺便说一下,你只需要一个“”“zip -rDX9”命令。 -r将以递归方式将子目录和文件包含到.epub中。

有三种终端命令你需要使用建立自己的EPUB:

  1. 负载的MIME类型文件:

拉链-X “[book_title_goes_here] .epub” MIME类型

  1. 加载META-INF目录并排除任何.DS_Store文件:

拉链-rg “[book_title_goes_here] .epub” META-INF -x * .DS_Store

  1. 负载在EPUB目录(或任何您已命名的目录,其中所有的你的内容的生命),并排除任何.DS_Store文件:
  2. 拉链-rg “[book_title_goes_here] .epub” EPUB -x * .DS_Store

    不要忘记通过epubcheck运行你的书(你可以从Google Code下载AppleScript应用程序;只需将EPUB文件拖放到AS应用程序:https://code.google.com/p/epub-applescripts/downloads/detail?name=ePubCheck_3.0b5.zip&can=2&q=)。

开始=>