【问题标题】:Make MIMETYPE file the first file in an EPUB ZIP file?使 MIMETYPE 文件成为 EPUB ZIP 文件中的第一个文件?
【发布时间】:2014-09-18 23:34:50
【问题描述】:

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

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 结构的文件夹和文件时,我会使用命令行压缩 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(大写)设置为小写 mimetype ... IDPF 验证器不再报告问题 re: the mime type file ... 所以,我想他们的验证器寻找小写文件名

标签: terminal zip applescript epub


【解决方案1】:

如您所见,mimetype 文件名必须为小写。在 EPUB 格式所需的文件中,只有 META-INF/ 目录应该具有大写名称。顺便说一句,您只需要一个“”“zip -rDX9”命令。 -r 将递归地将子目录和文件包含到 .epub 中。

【讨论】:

    【解决方案2】:

    您需要使用三个终端命令来构建您的 EPUB:

    1. 加载 mimetype 文件:

    zip -X "[book_title_goes_here].epub" mimetype

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

    zip -rg "[book_title_goes_here].epub" META-INF -x *.DS_Store

    1. 加载 EPUB 目录(或任何您命名的所有内容所在的目录),并排除任何 .DS_Store 文件:

    zip -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=)。

    【讨论】:

      猜你喜欢
      • 2021-12-12
      • 1970-01-01
      • 1970-01-01
      • 2019-05-11
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多