スキャンデータなどの連番jpeg/pngファイルを、フィクスフォーマットのEPUB3やmobiファイルに変換するコマンドラインスクリプトです。
動作環境は、php5.3のスクリプトが動作する、MacOSX,Linux等。MacOSX 10.7,10.8なら特に別途インストール、設定は不要です。
生成されたEPUB3ファイルは、見開きを再現できる電書協の固定フォーマットEPUB3に準拠しています。以下のリーダーソフトで意図どおり閲覧することができるのを確認しています。
またkindle用に最適化したEPUBを出力することができ、mobiファイルに変換できます。
mobiにしてNexus7のKindleアプリで見た場合。
開き方向の指定、目次情報の設定、画像の拡大表示等の設定が可能です。
以下解説のサンプルとして、佐藤秀峰氏の「ブラックジャックによろしく」(漫画on Web)を使わせていただきます。
下のzipファイルをダウンロードして展開します。
mkepub_1_4.zip (2013/05/09)展開されたmkepubフォルダを「アプリケーション」(/Applications)フォルダに移します。(OSXの場合)
EPUB化したいPNGかJPEGの画像の入ったフォルダを用意します。ファイル名は昇順にソートしたときページ順になるようにしておいてください。
ターミナルを起動して、用意したフォルダのある場所に移動します。ここではピクチャの下に"hoge"というフォルダを作ったとします。
"cd ~/Pictures/" でピクチャフォルダに移動したのちに、
画像ファイルの入ったフォルダをパラメータとして指定して、/Applicationsに置いたmkepubの中のjpg2epub.shを起動します。
"/Applications/mkepub/jpg2epub.sh hoge"
とすると、同じ場所の"hoge_epub"フォルダにEPUBの内容が作成され、”hoge.epub”という名前でEPUBファイルが生成されます。
ターミナルでファイルを指定する場合、ファイル名の一部をタイプしたあとtabキーの補完機能を使うと便利です。
画像はリサイズされず、そのままEPUBファイルにパックされます。原則として各画像ファイルは同じ縦横比である必要がありますが、スキャン時の微妙な差異は問題になりません。
jpeg/pngファイルをアルファベット順に並べた場合の、最初のファイルを表紙として扱い、2番目以降が本文になります。デフォルトでは右綴じ(縦書)の設定になります。デフォルトでは表紙のあとにパディングとして空白ページが1枚挿入されます。
画像の入っているフォルダ名がそのままタイトルになります。フォルダ名が "[著者名]タイトル"というフォーマットになっていた場合、著者名がメタ情報として設定されます。
日本語のファイル名を指定する場合は、ファイル名を'で囲んでください。
$ /Applications/mkepub/jpg2epub.sh '[佐藤秀峰]ブラックジャックによろしく1'
デフォルトでは右綴じ(縦書)になります。"-l"オプションをつけると左綴じ(横書き)になります。オプションはソースフォルダ名の後に書いてください。
$ /Applications/mkepub/jpg2epub.sh hoge -l
デフォルトでは、見開きのページをあわせるために、表紙の直後に1ページの空白ページが挿入されます。これは右綴じの場合、本文が左ページ起こしの場合に相当します。空白ページが不要の場合は、"-p"オプションを付けます。
$ /Applications/mkepub/jpg2epub.sh '[佐藤秀峰]ブラックジャックによろしく1' -p
画像の入ってるフォルダに"navi.txt"という名前でファイルを作成すると、目次情報を設定することができます。nevi.txtファイルのフォーマットは、項目名と対応する画像ファイル名をタブ区切りで書いたものです。文字コードはUTF-8にしてください。
例として「ブラよろ」一巻の場合は、こんな感じになります。
目次情報を入れて作成したEPUBファイルのサンプルです。ブラよろ1巻(74MB)
生成するepubのファイル名は、"-o"オプションで指定します。指定が無い場合は、画像フォルダ名に".epub"をつけたものになります。また"-k"オプションをつけるとkobo用に".kepub.epub"という拡張子のファイルが生成されます。
EPUBファイルにパックされる画像ファイル自体をリサイズすることなく、表示時の指定で拡大することができます。余白をなくしてなるべく大きく見たい場合に指定します。”-z"オプションで拡大率を%で指定、"-t"でトップのマージンの高さに対する%指定、"-s"で横方向ページの外側部分のマージンを指定できます。-t,-sを指定しない場合は、拡大されたものがセンターに配置されます。
たとえば、全体を105%に拡大して、トップのマージンを1.5%にする場合は、
$ /Applications/mkepub/jpg2epub.sh hoge -z 105 -t 1.5
と指定します。拡大指定は、表紙には適用されません。
Kindle用のmobiに変換できるEPUB形式を出力することができます。またAmazonの提供するKindleGenをインストールすることで、mobiファイルを生成することができます。
KindleGenは こちらからダウンロードして、OSXの場合はApplicationsフォルダに入れて置いてください。バージョン2.8以上のものを使用してください。OSX以外の環境の場合は、適当な場所に置いて、php/conf.phpファイルのKindleGenのパスを書き換えてください。
ダウンロードしたKindleGenは、最初の一回起動時に実行してもいいかの確認ダイアログがでるので、ファインダーから一度起動して許可しておいてください。
kindle用のEPUBの生成は、"-a"オプションをつけるだけです。-aオプションをつけると、EPUBが生成されたのちに、mobiが続けて生成されます。
kindle用のEPUBは、電書協仕様と以下の点が異なっています
上記の機能のうち、拡大とマージンの設定は無効になります。
この設定で作成したmobiファイルのサンプルです。ブラよろ1巻(mobi)(149MB)
このmobiファイルは、Kindle端末やAndroidのKindleアプリに転送して閲覧することができますが、iOS版Kindleでは転送したものは正しく表示されません。
KDPへの登録は未確認ですが問題ないはずです。
コマンドラインツールはちょっと使いにくいという向きに、例によってAutomatorを使ったGUI化です。
jpeg2epub.app.zip Automatorアプリ
上のファイルを解凍したものはアプリケーションになっているので、普通にファインダーから実行できます。予め、mkepubはアプリケーションフォルダにいれておいてください。
実行すると、ファイル選択が開くので、画像が入っているフォルダを選択します。次に、オプションを指定するダイアログが表示されます。
ここに必要ならオプションを設定して、OKボタンでEPUB作成が開始されます。
workflowファイルも置いておきます。こちらは実行するとAutomatorが開きます。また[ファイル]->[変換]からサービスに変換することで、コンテキストメニューから実行させるようにすることもできます。
jpeg2epub.workflow.zip Automatorワークフロー