KDP(電子出版)のメモ 急急如律令

Amazon Kindleダイレクト・パブリッシングでの電子出版や電子書籍の作成販売について、文章やイラストの作成や編集方法について書いています。

kindle comic creatorで作ったmobiファイルをEPUB3に

 

 で書いた。mobiファイルをEPUB3にする手順について書いています。

 キンドルの謹製ソフトのkindle comic creatorを使うとmobi形式のファイルが出来上がります。そして、ファイルサイズが2倍になるという厄介なつくりになってます。

 50MBの漫画を作ろうとすると100MBをアップロードしないといけないという。そんなでかいファイルをアップロード失敗したらやりきれない。ネットワークトラフィックの邪魔だ。

 mobiを出力するけど、epubにパッケージ化してアップロードしたらアップロード時間が短縮できるかも。

mobiファイルが保存されているフォルダーの中の

  • fontsフォルダー
  • htmlフォルダー
  • miscフォルダー
  • contents.opf
  • nav.html(任意)
  • toc.ncx

ファイルをOPSフォルダーに入れて。一番上の階層を3つのフォルダーとファイルする。

  • META-INFフォルダー
  • OPSフォルダー
  • mimetype

それらをepubに圧縮していきます。epub archiverで圧縮してみた。

するとずらりとエラーが出てきました。

content.opf(1,120): 属性 "unique-identifier" の値が不正です。 ; コロンを含まないXML名(NCName)でなくてはなりません。

コロンを削除

content.opf(18,16): 要素 "metadata" の内容が不完全です。以下の必要な要素が書かれていません "dc:identifier"

dc:identifierを追加。 

<dc:identifier id="pub-id"> </dc:identifier>

タグの中に固有番号を入れる 

content.opf(102,77): 属性 "properties" はここには書けません。 ; ここに書かれるべき属性は "id" です。

と似たようなのがずらっと並んでた。

<package version="2.0" を <package version="3.0" xml:lang="ja" にした

 EPUB2のなかに、EPUB3の内容を無理やり入れているようで、EPUBチェックしたときにどうしてもエラーが出てしまう。なのでEPUB3にすることにした。

 sakuraEpubUtilities021のEpubArchiverで圧縮しようとすると、次のようなエラーが出た。

 f:id:kyukyunyorituryo:20131210100305p:plain

    <opf:meta property="dcterms:modified"></opf:meta> を追加しました

日付情報がないというエラー、ここでは日付情報は削除しています。

.opf(13,21): 要素 "dc:publisher" のテキスト内容が不正です。 ; 文字列の長さは最低でも 1 必要です。(長さが 0 でした)

    <dc:publisher />を削除してみた。

content.opf(2,132): assertion failed: package 要素の unique-identifier 属性値が dc:identifier 要素の id 属性値を参照していません('b527956e-736f-4fda-9edb-bab2850d2126' を参照しています)。

 unique-identifier="b527956e-736f-4fda-9edb-bab2850d2126" を 

unique-identifier="pub-id"にした

   <dc:identifier id="pub-id">urn:uuid:b527956e-736f-4fda-9edb-bab2850d2126</dc:identifier> を dc:identifierに書き換え

content.opf(21,13): assertion failed: マニフェストには、プロパティに 'nav' を宣言したマニフェスト項目を必ず一つ(一つだけ)、書かなくてはなりません。('nav' を宣言した項目が 0 個あります).

    <item href="nav.html" id="toc" media-type="application/xhtml+xml" /> を

 <item id="toc" properties="nav" href="nav.xhtml" media-type="application/xhtml+xml"/>

にした。

<spine toc="ncx"> を <spine page-progression-direction="rtl" toc="ncx">

にした。

 content.opfの修正終わり

toc.ncxの修正

toc.ncx: External DTD entities are not allowed. Remove the DOCTYPE.

DOCTYPEを削除しろとあるのでそうする。

<!DOCTYPE ncx PUBLIC '-//NISO//DTD ncx 2005-1//EN' 'http://www.daisy.org/z3986/2005/ncx-2005-1.dtd'> を削除

toc.ncx(21,46): assertion failed: playOrder sequence has gaps

playOrder=""の数字が飛び飛びだとさ。なので一つずつ増えていくようにした。

     <navPoint playOrder="1" id="toc-1">

        <navPoint playOrder="2" id="toc-11">

Page-0.html(2,7): 要素 "html" をここに書いてはいけません。 ; ここに書かれるべきものは 要素 "html"(名前空間宣言 xmlns="http://www.w3.org/1999/xhtml") です。

<html> を <html xmlns="http://www.w3.org/1999/xhtml" >に変えるのを

すべての本文ファイルにDevasで一括して置換 

Page-0.html(9,156): 'OPS/html/scaled-images/P1000177_001.jpg': referenced resource is not declared in the OPF manifest.

content.opfで画像がmanifestで宣言されていないというエラー、追加しよう。

画像のファイル名取得してリスト化しないといけないのがめんどくさいので。

ファイル名取得ソフトを使う。

http://www.vector.co.jp/soft/dl/win95/util/se247619.html

<item href="html/scaled-images/ と

" media-type="image/jpeg"/> の間に ファイル名が入るように一斉に置換して

<item href="html/scaled-images/P1000177_001.jpg" media-type="image/jpeg"/>

<item href="html/scaled-images/P1000177_002.jpg" media-type="image/jpeg"/>

<item href="html/scaled-images/P1000190-crop_001.jpg" media-type="image/jpeg"/>

<item href="html/scaled-images/P1000190-crop_002.jpg" media-type="image/jpeg"/>

<item href="html/scaled-images/P1000197_001.jpg" media-type="image/jpeg"/>

 ようになるようにする。それらをcontent.opfのmanifestに追加。

content.opf(100,80): 要素 "item" に必要な属性が書かれていません。 "id"

idを書いてなかったのがまずかった。

連番生成ツールでid="image-001"などを連番で生成し。矩形選択貼り付けツールで埋め込みました。矩形選択貼り付けはmeryを使った。Alt+shift+矢印で矩形選択できる。

  <item id="image-001" href="html/scaled-images/P1000177_001.jpg" media-type="image/jpeg" />

    <item id="image-002" href="html/scaled-images/P1000177_002.jpg" media-type="image/jpeg" />

    <item id="image-003" href="html/scaled-images/P1000190-crop_001.jpg" media-type="image/jpeg" />

    <item id="image-004" href="html/scaled-images/P1000190-crop_002.jpg" media-type="image/jpeg" />

 Validating against EPUB version 3.0

No errors or warnings detected.

EPUBvalid終了。

残りの余談。

アップロードの時間短縮のつもりで作ったらそれ以上に時間食ってるバカみたいな内容です。KC2はepub2の出力だっていうこと。EPUB3にしたらエラー出るよね。

 ついでに目次も変だからそこも治したいなというか、直せよアマゾン。HTML目次が必須だけど、HTML目次は固定レイアウトではちゃんと表示できないって禅問答かよ。レイアウトが乱れたら怒りに来ると。

epub validな固定レイアウトをアップロードしても、HTML目次がない、

        <meta content="none" name="orientation-lock"/>

        <meta content="horizontal-rl" name="primary-writing-mode"/>

        <meta content="800x1280" name="original-resolution"/>

        <meta content="false" name="region-mag"/>

が無いと等は言われそうだな。

prefix="rendition: http://www.idpf.org/vocab/rendition/#"

prefixの扱いについて書いてないということはチェックしてないようです。

もう一つの問題は見開き指定なんだろうと思うので、

spineに

properties="page-spread-right"

properties="page-spread-left"

見開きにした時に右にするか左にするかの指定はEPUBの固定レイアウト出力ソフトで対応しているのは少なそう。

 タグ:きんどるとは 画像サイズ 表紙画像サイズ 大きさ 容量 zip ipad キンドルコミッククリエイター 写真集 目次 html目次 余白 見開き 解像度