使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?
正如你发现的那样,mimetype文件名必须是小写。在EPUB格式所需的文件中,只有META-INF /目录应该具有大写名称。顺便说一下,你只需要一个“”“zip -rDX9”命令。 -r将以递归方式将子目录和文件包含到.epub中。
有三种终端命令你需要使用建立自己的EPUB:
- 负载的MIME类型文件:
拉链-X “[book_title_goes_here] .epub” MIME类型
- 加载META-INF目录并排除任何.DS_Store文件:
拉链-rg “[book_title_goes_here] .epub” META-INF -x * .DS_Store
- 负载在EPUB目录(或任何您已命名的目录,其中所有的你的内容的生命),并排除任何.DS_Store文件:
拉链-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=)。
嘿!我尝试了以上所有内容,除了将文件名以前的MIMETYPE(大写)改为小写mimetype ... IDPF验证程序不再报告问题:mime类型文件...因此,我想他们的验证程序会查找小写文件名 – 2014-09-19 16:37:36