我按照教程使用 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
和, 如下所示:\r
mimetype
tr
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 中,它在“文本文件”首选项下称为“确保文件以换行符结尾”。)
最好的!
托德