2014-09-18 49 views
1

我的目標是通過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

回答

1

正如你發現的那樣,mimetype文件名必須是小寫。在EPUB格式所需的文件中,只有META-INF /目錄應該具有大寫名稱。順便說一下,你只需要一個「」「zip -rDX9」命令。 -r將以遞歸方式將子目錄和文件包含到.epub中。

0

有三種終端命令你需要使用建立自己的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

  • 負載在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=)。