答案1
7-zip GUI 版本:
mimetype
從 EPUB 檔案中提取- 刪除
mimetype
EPUB 檔案中的內容 - 重新命名
mimetype
為!mimetype
- 添加
!mimetype
到 EPUB 文件 - 重新命名
!mimetype
為mimetype
EPUB 檔案內部
7-zip 簡單拖放版本:
去7-zip 下載頁面並下載7-Zip Extra: standalone console version, 7z DLL, Plugin for Far Manager
(不適用於穩定版 9.20,但適用於 9.38 beta 和 15.06 beta)。提煉7za.exe
。將下面的程式碼儲存為repair.bat
檔案:
7za x %1 mimetype -y
7za d %1 mimetype
move /y mimetype !mimetype
7za a %1 !mimetype
del /f !mimetype
7za rn %1 !mimetype mimetype
將7za.exe
和repair.bat
放在同一目錄中,然後只需將 EPUB 檔案拖曳到repair.bat
.
答案2
一種方法是:大多數歸檔程式和歸檔工具都能夠將其他文件項目附加或新增到原始歸檔中。在頂部建立您想要的項目的存檔,然後將其他文件項目新增至已建立的檔案中。我知道這適用於 Windows 自己的 ZIP 工具。
看起來真正的答案超出了我的範圍,這裡是 C# https://stackoverflow.com/questions/5898787/creating-an-epub-file-with-a-zip-library
這裡是 HTML(使用 7z)
http://next.blurb.com/2011/02/17/how-to-make-an-ipad-photo-book/
具體來說這部分
2.開啟sample-photo-book資料夾,然後先將檔案mimetype複製到(空)檔案中。
3.現在,將其他資料夾(META-INF 和 OEBPS)複製到檔案中。
http://idpf.org/epub/30/spec/epub30-ocf.html#physical-container-zip
mimetype 檔案的內容不得包含任何前導填充或空格,不得以 Unicode 簽署(或位元組順序標記)開頭,且 MIME 類型字串的大小寫必須與上面所示完全相同。此外,mimetype 檔案不得壓縮或加密,且其 ZIP 標頭中不得有額外欄位。
答案3
建立 EPUB 需要兩個步驟,先加入沒有任何(!)壓縮的 mimetype,然後再新增其他檔案/資料夾。因此,使用 7z 您可以執行以下命令:
7z a -mx=0 dummy.zip mimetype
為了能夠使用通配符 *,您應該將檔案 mimetype 移至另一個資料夾並開始第二步:
7z a -r dummy.zip *
之後將 ZIP 重新命名為 EPUB 就可以了!
答案4
使用 winrar 對我來說很有效。我將 mimetype 新增至 zip 檔案(未壓縮!),然後新增其餘資料夾,進行常規壓縮。
這個解決方案對我來說不適用於 7-zip,因為它不斷對檔案進行重新排序。