最近の投稿

7zipでEPUB3を作るときに嵌った件

EPUB作成スクリプトを作る際にハマった事。

EPUBを作る際のZIPアーカイブ。

EPUBの仕様では、アーカイブの先頭に無圧縮のmimetypeを配置すること。
> 7z.exe a -mx1 epub.epub mimetype
> 7z.exe a -mx9 epub.epub OEBPS META-INF

以上のコマンドでアーカイブすると、一応EPUBビューアで見れるが…
チェッカーでチェックすると…

$ epubcheck epub.epub
ERROR(PKG-006): ./epub.epub/epub.epub(-1,-1): mimetypeファイルエントリが存在しないか、アーカイブの先頭以外の場所に存在しています.

のエラー。7zipのコマンドで中身を調べてみると
# 7z.exe l epub.epub

Date        Time    Attr         Size  Compressed   Name
------------------- ----- ------------ ------------ ------------------------
2019-06-15 11:13:13 D....            0            0 META-INF
2019-06-15 11:13:13 ....A          244          169 META-INF\container.xml
2019-06-15 11:13:13 ....A           20           20 mimetype
2019-06-15 11:13:13 D....            0            0 OEBPS
2019-06-15 11:13:13 ....A         7500         1174 OEBPS\content.opf
2019-06-15 11:13:13 D....            0            0 OEBPS\Images
2019-06-04 13:46:07 ....A       403417       400058 OEBPS\Images\01.jpg

コマンドで最初にアーカイブしても、先頭には来ない。アルファベット順に並んでいる様子。なので、mimetypeのファイル名を00mimetypeで作成。アーカイブ後にリネーム。

> 7z.exe a -mx1 epub.epub 00mimetype
> 7z.exe a -mx9 epub.epub OEBPS META-INF
> 7z.exe rn epub.epub 00mimetype mimetype

Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
2019-06-15 11:13:13 ....A           20           20 mimetype
2019-06-15 11:13:13 D....            0            0 META-INF
2019-06-15 11:13:13 ....A          244          169 META-INF\container.xml
2019-06-15 11:13:13 D....            0            0 OEBPS
2019-06-15 11:13:13 ....A         7500         1131 OEBPS\content.opf
2019-06-15 11:13:13 D....            0            0 OEBPS\Images
2019-06-04 13:46:07 ....A       403417       398861 OEBPS\Images\01.jpg

これで、チェッカーにかけると

$ epubcheck epub.epub
EPUB version 3.0.1 のルールを使って検証します.
エラーも警告も検出されませんでした.

まぁ、アーカイブしたEPUBをSigilなどのエディタで開いて保存し直せば、このエラーは消えるんですけどね。

  1. ロリポ&ヘテムルにownCloudを設置 コメントを残す
  2. ただいま工事ちゅう!vol.8 コメントを残す
  3. ImageMagickとVBSで製本直送入稿用PDF作成を自動化 コメントを残す
  4. 「ただいま工事ちゅう!番外編4」 コメントを残す
  5. QR奥付 SNSログインに対応しました コメントを残す
  6. ただいま工事ちゅう!vol.7 コメントを残す
  7. QR奥付 iphoneだけで利用する方法 コメントを残す
  8. QR奥付 外部テキストの使用 1件のフィードバック
  9. イベント参加予定です コメントを残す