压缩 Epub:Mimetype 文件应该只包含字符串“application/epub+zip”

压缩 Epub:Mimetype 文件应该只包含字符串“application/epub+zip”

我按照教程使用 EPUB 制作电子书 创建 ePUB 文件。该mimetype文件仅包含application/epub+zip ,不应压缩。但是,建议使用 zip 命令来实现 mimetype 的非压缩,

zip -0Xq   ebook.epub mimetype
zip -Xr9Dq ebook.epub *

...运行时产生以下错误epub检查

ERROR: ebook.epub/mimetype: Mimetype file should contain only the string "application/epub+zip".

因此我尝试了另外两种 zip 选项组合,但错误仍然相同。

zip -X  ebook.epub mimetype 
zip -rg ebook.epub META-INF 
zip -rg ebook.epub OEBPS

zip -X0  ebook.epub mimetype
zip -rX9 ebook.epub * -x mimetype

但是,Calibre 可以毫无问题地打开其中任何一本电子书。

我的文件内容mimetype是正确的,所以一定是命令出了问题zip。或者这可能是 epubcheck 的一个错误?

答案1

您需要使用 Linux 命令从文件中删除字符\n和, 如下所示:\rmimetypetr

tr -d '\n' < mimetype   > mimetype.1
tr -d '\r' < mimetype.1 > mimetype.2
rm mimetype mimetype.1 
mv mimetype.2 mimetype

或者简单地

tr -d '\n\r' < mimetype > mimetype.2
mv mimetype.2 mimetype

然后,您必须使用以下命令将文件 mimetype 添加到 ePUB 文件:

zip -0Xq book.epub mimetype

然后您需要将剩余的文件添加到 ePUB 文件中,如下所示:

zip -Xr9Dq book.epub * -x mimetype -x book.epub 

然后只需使用在线验证即可EPUB 验证器 并且您将不会收到有关 mimetype 的错误。

答案2

在 Dreamweaver 或任何文本编辑软件中打开 minetype 文件,删除“application/epub+zip”行后面的所有空格。确保没有任何回车符。

那应该可行

答案3

我正在使用 Mac,运行“ePub Zip/Unzip 3.0”(包含正确的 zip 命令等的 Applescript),也遇到了这个错误。

事实证明,BBEdit 和 TextWrangler 都具有“首选项”设置,可在您保存时自动添加额外的换行符。我取消选中该首选项,不再出现错误。

检查您的文本编辑器是否有这样的首选项,如果可以,请将其关闭。(在 BBEdit 中,它在“文本文件”首选项下称为“确保文件以换行符结尾”。)

最好的!

托德

相关内容