|| top ||

《付録》Kindle本作成について

EPUB3テンプレートを使用してEPUB形式からKindle形式に変換するための、EpubCheckも含めた各種バッチファイルを作成しました。必要に応じてご自分の目的に適したものを使用してください。

  1. mobiファイルを作成する
  2. mobiファイルの表示を確認する
  3. エラーメッセージについて
  4. 各種バッチファイル
    1. mobiファイル作成用
    2. epubファイル作成用
    3. EpubCheckのみ(現在編集中のファイルから)
    4. EpubCheckのみ(既存のepubファイルから)
    5. epubファイル作成+EpubCheck+mobiファイル作成用
    6. その他のバリエーション
    7. 必要なツールを準備する

1. mobiファイルを作成する

  • 例として、『EPUB3テンプレート 第三版(電書協仕様準拠版)』で作成したCドライブの「ebook」フォルダを使用します。
  • 下記《使用ツール》を参考にして、最新の「KindleGen」をダウンロードします。「ebook」フォルダの下に「KindleGen」というフォルダを作成し、そこにダウンロードした「KindleGen」を解凍してできたすべてのファイルをコピーします。
  • 以下のテキストを丸ごとコピーして「ebook」フォルダの下に「makemobi.bat」という名前のファイルを作成してペーストし、保存します。
            @echo off
            
            set epubFile="c:\ebook\files.epub"
            if exist %epubFile% (goto file_found) else goto file_not_found
            
            :file_found
            echo mobiファイルを作成しています. . .
            
            cd KindleGen
            kindlegen %epubFile%
            echo.
            cd ..
            goto :end
            
            :file_not_found
            echo files.epubファイルが存在しません. 処理を終了します.
            echo.
            goto :end
            
            :end
            pause
          
  • 「files.epub」がすでに作成されている状態で「makemobi.bat」ファイルをダブルクリックして実行すると、「ebook」フォルダ内に「files.mobi」というファイルが作成されます。これがKindle用のmobiファイルです。
  • 前の作業で「files.epub」ファイルが作成されていることが前提なので、「files.epub」ファイルが作成されていない場合は「files.epubファイルが存在しません. 処理を終了します.」と表示されてmobiファイルの作成は行われません。
  • 余計なメッセージ等の入らないシンプルなものはこちら。
            cd KindleGen
            kindlegen c:\ebook\files.epub
            cd ..
            pause
          
  • 以下はepubファイルからmobiファイルを作成した後のフォルダとファイル構成の例です。
              C:.
              └─ebook
                  │  dc_template_01_winered_ep3_ebpaj_03.epub
                  │  makeepubcheck.bat  ←----  EpubCheck&epub作成用バッチファイル
                  │  makemobi.bat   ←----   mobi作成用バッチファイル
                  │  files.epub     ←----   作成されたEPUB3ファイル
                  │  files.mobi     ←----   作成されたmobiファイル
                  │
                  ├─epubcheck   ←----   epubcheckツール用フォルダ
                  │
                  ├─files       ←----   編集した各ファイル用フォルダ
                  │
                  └─KindleGen   ←----   KindleGen用フォルダ
          
  • ウィンドウが自動的に閉じないのはエラー内容をスクロールして確認できるようにしてあるためです。ウィンドウを閉じるには適当なキーを押します。
  • エラー内容が狭いウィンドウ内では見にくい時は、ウィンドウ左上の黒いアイコンをクリック→「編集」→「すべて選択」、もう一度黒いアイコンをクリック→「編集」→「コピー」でエラー内容をエディタなどにペーストして確認できます。
  • エラー内容をいちいちコピーして確認するのが面倒という場合は、エラー内容をファイルに書き出すこともできます。『4. 各種バッチファイル』を参照してください。
  • mobi形式の変換には、『Kindle Previewer』でデバイスモードを設定してからepubファイルを開くという方法もありますが、たいへん効率が悪いのでここでは使用方法は割愛します。

2. mobiファイルの表示を確認する

  • 「files.mobi」を『Kindle Previewer(PC版)』で直接開いて表示を確認します。
  • 『Kindle for PC』で確認したい場合は、mobiファイルの関連付けが『Kindle for PC』となっていれば「files.mobi」をダブルクリックで自動的に開きます。開かない場合は、ローカルコンテンツの保存フォルダ(初期値は「C:\Users\******\Documents\My Kindle Content」。「******」にはご自分のPCのアカウント名が入ります)に「files.mobi」をコピーし、『Kindle for PC』を起動し直すとライブラリに表示されます。
  • Kindleストアから購入した本以外の自作本をPC以外の端末で表示させるには、Kindle系端末またはAndroid系端末の場合は本体の「Kindle」フォルダに「files.mobi」を転送してKindleアプリで開きます(iOS系端末は未所持のため確認できないので、ここでは割愛します)。
  • PC以外の端末へのmobiファイルの転送に関しては、Amazonサイトの『USB経由でのコンテンツの転送』や『Kindleパーソナル・ドキュメントサービス』等を参照してください。

3. エラーメッセージについて

  • このEPUB3テンプレートからKindle本を作成する場合、mobiファイル作成中に表示される「警告」(一部「情報」)のうち、次のものがクリアできていません(xxxxxxxxの部分はご自分の環境により異なります)が、mobiファイルは作成されます。『電書協 EPUB 3 制作ガイド』や『KADOKAWA-EPUB 制作仕様』に付属のテンプレートでも同様のエラーが出るので、まあ、Kindle本には一部向いていないらしい程度にとらえ、このままにしています(2016年8月15日現在、「KindleGen」のバージョンは2.9)。
            情報(prcgen):I1052: Kindle はカバー画像をサポートしていますが、カバー HTML はサポートしていません。したがって、コンテンツで、指定されているカバー画像を使用し、カバー HTML を抑制します。      URL:C:\Users\xxxxxxxx\item\xhtml\p-cover.xhtml
              ----------------
            警告(htmlprocessor):W28001: コンテンツで指定された CSS スタイルは Kindle リーダーではサポートされていません。CSS プロパティの削除: 'max-height' ファイル内で:C:\Users\xxxxxxxx\item\style\style-standard.css
            警告(htmlprocessor):W28001: コンテンツで指定された CSS スタイルは Kindle リーダーではサポートされていません。CSS プロパティの削除: 'max-width' ファイル内で:C:\Users\xxxxxxxx\item\style\style-standard.css
            警告(htmlprocessor):W28001: コンテンツで指定された CSS スタイルは Kindle リーダーではサポートされていません。CSS プロパティの削除: 'max-height' ファイル内で:C:\Users\xxxxxxxx\item\style\style-advance.css
            警告(htmlprocessor):W28001: コンテンツで指定された CSS スタイルは Kindle リーダーではサポートされていません。CSS プロパティの削除: 'max-width' ファイル内で:C:\Users\xxxxxxxx\item\style\style-advance.css
              ----------------
            情報(pagemap):I8000: 本の中にページマップが見つかりません
          

4. 各種バッチファイル

  • いちいち「makeepubcheck.bat」「makemobi.bat」と二回続けてダブルクリックするのが面倒、いちいちエラーをコピーして確認するのが面倒といった方のための、バッチファイルのバリエーションです。ファイル名は仮なので適当なものに変更してください。
a. mobiファイル作成用
  • 基本の『1. mobiファイルを作成する』の「makemobi.bat」に、結果をファイルに出力する処理を加えたバリエーションです。
  • 「files.epub」がすでに作成されている状態で、一回のダブルクリックでmobiファイルを作成し、処理内容を「~mobicheck.log」に出力。「files.epub」が作成されていない場合は、「files.epubファイルが存在しません. 処理を終了します.」と表示されてmobiファイル作成は行われない。
〈mobi作成 → 結果ファイル出力〉
  • 処理中は画面を一切見ることなく、結果は常にテキストファイルで確認したいという方向け。
  • エラーのあるなしにかかわらず、画面には何も表示されずに処理内容がすべて「~mobicheck.log」に書き込まれる。
  • 「~mobicheck.log」の内容は「makemobi_to_log.bat」を実行する度に上書きされる。ウィンドウは自動で閉じる。
            @echo off
            
            echo mobiファイルを作成しています. . .
            echo.
            
            set epubFile="c:\ebook\files.epub"
            if exist %epubFile% (goto file_found) else goto file_not_found
            
            :file_found
            cd KindleGen
            kindlegen %epubFile% > c:\ebook\~mobicheck.log
            echo.
            cd ..
            goto :end
            
            :file_not_found
            echo files.epubファイルが存在しません. 処理を終了します.
            echo.
            pause
            
            :end
          
〈mobi作成 → 結果画面+ファイル出力〉
    • 処理内容を主に画面で確認しつつ、エラーがあればテキストファイルで詳細を確認したいという方向け。
    • 処理内容を画面に表示させ、なおかつ「~mobicheck.log」にも書き込む。ウィンドウは開いたままなので、自動で閉じたい時は最後の「pause」の一行をはずす。
    • ただし、Windows標準のコマンドには画面とファイルへ同時に出力するという機能がないので、まずこちらで「UnxUtils」を準備してから実行してください。
                @echo off
                
                echo mobiファイルを作成しています. . .
                echo.
                
                set teeFile="c:\ebook\UnxUtils\tee"
                set nkfFile="c:\ebook\UnxUtils\nkf"
                set tmpFile="c:\ebook\~~~check.tmp"
                set epubFile="c:\ebook\files.epub"
                
                if exist %epubFile% (goto file_found) else goto file_not_found
                
                :file_found
                cd KindleGen
                kindlegen c:\ebook\files.epub | %nkfFile% -s | %teeFile% %tmpFile%
                %nkfFile% -w -c %tmpFile% > c:\ebook\~mobicheck.log
                del %tmpFile%
                echo.
                cd ..
                goto :end
                
                :file_not_found
                echo files.epubファイルが存在しません. 処理を終了します.
                echo.
                goto :end
                
                :end
                pause
              
b. epubファイル作成用
  • epubファイル作成用のバリエーションです。
〈epub作成のみ〉
  • ちょっとRSで表示を確認したいけれどいちいちEpubCheckにかけている時間がもったいないという方向け(※注)。
  • 「makeepub_only1.bat」を実行すると、圧縮の進行状況を表示しつつ「files.epub」ファイルを作成した後に、ウィンドウは自動で閉じる。
  • 処理時間短縮のため「EpubCheck」ではなく「ZIP」を使用しているので、こちらで準備してから実行してください。
            @echo off
            echo エラーチェックなしでepubファイルを作成しています. . .
            echo.
            
            set zipFile="c:\ebook\zip\zip"
            
            cd files
            %zipFile% -0 -X ..\files.epub mimetype
            %zipFile% -r ..\files.epub * -x mimetype
            cd ..
          
  • 処理時間がかかっても「ZIP」でなく「EpubCheck」を使用したいという場合はこちら。
  • 「makeepub_only2.bat」を実行すると、「files.epub」ファイルを作成した後、ウィンドウは自動で閉じる。
  • ただし、「EpubCheck」にはチェックを省略してepubのみ作成するというオプションがないので、画面には表示させていないというだけで実際にはチェック作業は行われています。そのため、チェック作業が長ければウィンドウが閉じるまでに時間がかかります。
            @echo off
            echo エラーチェックなしでepubファイルを作成しています. . .
            echo.
            echo epubファイルが作成されたらこのウィンドウは無視してください. 
            echo 作業終了後に自動で閉じます. . . .
            cd epubcheck
            java -jar epubcheck.jar c:\ebook\files\ -mode exp -save > nul 2>&1
            cd ..
          
〈epub作成+EpubCheck → 結果ファイル出力〉
  • エラーの有無を画面でチェックし、エラーがあればテキストファイルで確認するという方向け。
  • 一回のダブルクリックで、EpubCheckでエラーチェック+epubファイルを作成し、処理内容を「~epubcheck.log」に出力。
  • 「~epubcheck.log」の内容は「makeepubcheck_to_log1.bat」を実行する度に上書きされる。ウィンドウを自動で閉じたい時は、最後の「pause」の一行をはずす。
  • エラーがない時は画面に「エラーも警告も検出されませんでした.」と表示され、作成された「~epubcheck.log」には何も内容が書き込まれない。エラーがある時は、エラー内容が画面には表示されずに「~epubcheck.log」に書き込まれる。
            @echo off
            
            echo epubファイルを作成しています. . .
            echo.
            
            cd epubcheck
            java -jar epubcheck.jar c:\ebook\files\ -mode exp -save 2> c:\ebook\~epubcheck.log
            cd ..
            
            echo.
            pause
          
  • 画面には結果を一切表示させず、すべての処理内容を「~epubcheck.log」に書き込みたいという時はこちら。画面も自動で閉じる。
  • 処理中は画面を一切見ることはせず、結果は常にテキストファイルで確認したいという方向け。
            @echo off
            
            echo epubファイルを作成しています. . .
            echo.
            
            cd epubcheck
            java -jar epubcheck.jar c:\ebook\files\ -mode exp -save > c:\ebook\~epubcheck.log 2>&1
            cd ..
            
            echo.
          
〈epub作成+EpubCheck → 結果画面+ファイル出力〉
  • 処理内容を主に画面で確認しつつ、エラーがあればテキストファイルで詳細を確認したいという方向け。
  • 処理内容を画面に表示させ、なおかつ「~epubcheck.log」にも書き込む。ウィンドウは開いたままなので、自動で閉じたい時は最後の「pause」の一行をはずす。
  • ただし、Windows標準のコマンドには画面とファイルへ同時に出力するという機能がないので、まずこちらで「UnxUtils」を準備してから実行してください。
            @echo off
            
            echo epubファイルを作成しています. . .
            echo.
            
            set teeFile="c:\ebook\UnxUtils\tee"
            set nkfFile="c:\ebook\UnxUtils\nkf"
            set tmpFile="c:\ebook\~~~check.tmp"
            
            cd epubcheck
            java -jar epubcheck.jar c:\ebook\files\ -mode exp -save  2>&1 | %teeFile% %tmpFile%
            %nkfFile% -s -c %tmpFile% > c:\ebook\~epubcheck.log
            del %tmpFile%
            cd ..
            
            echo.
            pause
          
c. EpubCheckのみ(現在編集中のファイルから)
  • 現在編集中のファイル群からepubファイルを作成せず、EpubCheckのみ行いたい場合。
〈編集中〜EpubCheckのみ〉
  • 処理内容は画面に表示され、ウィンドウは開いたまま。ウィンドウを自動で閉じたい時は、最後の「pause」の一行をはずす。
            @echo off
            echo EpubCheckを行っています. . .
            echo.
            
            cd epubcheck
            java -jar epubcheck.jar c:\ebook\files\ -mode exp
            cd ..
            
            echo.
            pause
          
〈編集中〜EpubCheckのみ → 結果ファイル出力〉
  • エラーの有無を画面でチェックし、エラーがあればテキストファイルで確認するという方向け。
  • epubファイルを作成せずにEpubCheckのみ行い、処理内容を「~epubcheck.log」に出力。処理内容は画面に表示され、ウィンドウは開いたまま。
  • 「~epubcheck.log」の内容は「epubcheck_from_files_to_log1.bat」を実行する度に上書きされる。ウィンドウを自動で閉じたい時は、最後の「pause」の一行をはずす。
  • エラーがない時は画面に「エラーも警告も検出されませんでした.」と表示され、作成された「~epubcheck.log」には何も内容が書き込まれない。エラーがある時は、エラー内容が画面には表示されずに「~epubcheck.log」に書き込まれる。
            @echo off
            echo EpubCheckを行っています. . .
            echo.
            
            cd epubcheck
            java -jar epubcheck.jar c:\ebook\files\ -mode exp 2> c:\ebook\~epubcheck.log
            cd ..
            
            echo.
            pause
          
  • 画面には結果を一切表示させず、すべての処理内容を「~epubcheck.log」に書き込みたいという時はこちら。画面も自動で閉じる。
  • 処理中は画面を一切見ることはせず、結果は常にテキストファイルで確認したいという方向け。
            @echo off
            echo EpubCheckを行っています. . .
            echo.
            
            cd epubcheck
            java -jar epubcheck.jar c:\ebook\files\ -mode exp > c:\ebook\~epubcheck.log 2>&1
            cd ..
          
〈編集中〜EpubCheckのみ → 結果画面+ファイル出力〉
  • 処理内容を主に画面で確認しつつ、エラーがあればテキストファイルで詳細を確認したいという方向け。
  • 処理内容を画面に表示させ、なおかつ「~epubcheck.log」にも書き込む。ウィンドウは開いたままなので、自動で閉じたい時は最後の「pause」の一行をはずす。
  • ただし、Windows標準のコマンドには画面とファイルへ同時に出力するという機能がないので、まずこちらで「UnxUtils」を準備してから実行してください。
            @echo off
            
            echo EpubCheckを行っています. . .
            echo.
            
            set teeFile="c:\ebook\UnxUtils\tee"
            set nkfFile="c:\ebook\UnxUtils\nkf"
            set tmpFile="c:\ebook\~~~check.tmp"
            
            cd epubcheck
            java -jar epubcheck.jar c:\ebook\files\ -mode exp 2>&1 | %teeFile% %tmpFile%
            %nkfFile% -s -c %tmpFile% > c:\ebook\~epubcheck.log
            del %tmpFile%
            cd ..
            
            echo.
            pause
          
d. EpubCheckのみ(既存のepubファイルから)
  • すでに作成済みのepubファイルに対してEpubCheckを行いたい場合。「files.epub」が作成されていない場合は、「files.epubファイルが存在しません. 処理を終了します.」と表示されてEpubCheckは行われない。
〈既存〜EpubCheckのみ〉
  • 処理内容は画面に表示され、ウィンドウは開いたまま。ウィンドウを自動で閉じたい時は、最後の「pause」の一行をはずす。
            @echo off
            
            set epubFile="c:\ebook\files.epub"
            if exist %epubFile% (goto file_found) else goto file_not_found
            
            :file_found
            echo EpubCheckを行っています. . .
            echo.
            
            cd epubcheck
            java -jar epubcheck.jar c:\ebook\files.epub
            cd ..
            echo.
            goto :end
            
            :file_not_found
            echo files.epubファイルが存在しません. 処理を終了します.
            echo.
            goto :end
            
            :end
            pause
          
〈既存〜EpubCheckのみ → 結果ファイル出力〉
  • エラーの有無を画面でチェックし、エラーがあればテキストファイルで確認するという方向け。
  • epubファイルを作成せずにEpubCheckのみ行い、処理内容を「~epubcheck.log」に出力。処理内容は画面に表示され、ウィンドウは開いたまま。
  • 「~epubcheck.log」の内容は「epubcheck_from_epubfile_to_log1.bat」を実行する度に上書きされる。ウィンドウを自動で閉じたい時は、最後の「pause」の一行をはずす。
  • エラーがない時は画面に「エラーも警告も検出されませんでした.」と表示され、作成された「~epubcheck.log」には何も内容が書き込まれない。エラーがある時は、エラー内容が画面には表示されずに「~epubcheck.log」に書き込まれる。
            @echo off
            
            set epubFile="c:\ebook\files.epub"
            if exist %epubFile% (goto file_found) else goto file_not_found
            
            :file_found
            echo EpubCheckを行っています. . .
            echo.
            
            cd epubcheck
            java -jar epubcheck.jar c:\ebook\files.epub 2> c:\ebook\~epubcheck.log
            cd ..
            echo.
            goto :end
            
            :file_not_found
            echo files.epubファイルが存在しません. 処理を終了します.
            echo.
            goto :end
            
            :end
            pause
          
  • 処理中は画面を一切見ることはせず、結果は常にテキストファイルで確認したいという方向け。
  • 画面には結果を一切表示させず、すべての処理内容を「~epubcheck.log」に書き込む。画面も自動で閉じる。
            @echo off
            
            set epubFile="c:\ebook\files.epub"
            if exist %epubFile% (goto file_found) else goto file_not_found
            
            :file_found
            echo EpubCheckを行っています. . .
            echo.
            
            cd epubcheck
            java -jar epubcheck.jar c:\ebook\files.epub > c:\ebook\~epubcheck.log 2>&1
            cd ..
            goto :end
            
            :file_not_found
            echo files.epubファイルが存在しません. 処理を終了します.
            echo.
            goto :end
            
            :end
            pause
          
〈既存〜EpubCheckのみ → 結果画面+ファイル出力〉
  • 処理内容を主に画面で確認しつつ、エラーがあればテキストファイルで詳細を確認したいという方向け。
  • 処理内容を画面に表示させ、なおかつ「~epubcheck.log」にも書き込む。ウィンドウは開いたままなので、自動で閉じたい時は最後の「pause」の一行をはずす。
  • ただし、Windows標準のコマンドには画面とファイルへ同時に出力するという機能がないので、まずこちらで「UnxUtils」を準備してから実行してください。
            @echo off
            
            set epubFile="c:\ebook\files.epub"
            if exist %epubFile% (goto file_found) else goto file_not_found
            
            :file_found
            echo EpubCheckを行っています. . .
            echo.
            
            set teeFile="c:\ebook\UnxUtils\tee"
            set nkfFile="c:\ebook\UnxUtils\nkf"
            set tmpFile="c:\ebook\~~~check.tmp"
            
            cd epubcheck
            java -jar epubcheck.jar c:\ebook\files.epub 2>&1 | %teeFile% %tmpFile%
            %nkfFile% -s -c %tmpFile% > c:\ebook\~epubcheck.log
            del %tmpFile%
            cd ..
            echo.
            goto :end
            
            :file_not_found
            echo files.epubファイルが存在しません. 処理を終了します.
            echo.
            goto :end
            
            :end
            pause
          
d. epubファイル作成+EpubCheck+mobiファイル作成用
  • 一度ですべてをこなす手間いらずのバリエーションです。
〈epub作成+EpubCheck+mobi作成〉
  • 一回のダブルクリックで、epubファイル作成+EpubCheckでエラーチェック+mobiファイル作成を行う。処理内容は画面に表示され、ウィンドウは開いたまま。ウィンドウを自動で閉じたい時は、最後の「pause」の一行をはずす。
            @echo off
            
            echo epubとmobiファイルを作成しています. . .
            echo.
            
            cd epubcheck
            java -jar epubcheck.jar c:\ebook\files\ -mode exp -save
            cd ..
            
            cd KindleGen
            kindlegen c:\ebook\files.epub
            cd ..
            
            echo.
            pause
          
〈epub作成+EpubCheck+mobi作成 → 結果ファイル出力〉
  • エラーの有無を画面でチェックし、エラーがあればテキストファイルで確認するという方向け。
  • 一回のダブルクリックで、epubファイル作成+EpubCheckでエラーチェック+mobiファイル作成を行い、処理内容をそれぞれ「~epubcheck.log」と「~mobicheck.log」に出力する。
  • 「EpubCheck」はエラーがない時は画面に「エラーも警告も検出されませんでした.」と表示され、作成された「~epubcheck.log」には何も内容が書き込まれない。エラーがある時は、エラー内容が画面には表示されずに「~epubcheck.log」に書き込まれる。
  • 「KindleGen」はエラーのあるなしにかかわらず、画面には何も表示されずに処理内容が「~mobicheck.log」に書き込まれる。
  • 「~epubcheck.log」と「~mobicheck.log」の内容は「makeepubcheckmobi_to_log1.bat」を実行する度に上書きされる。ウィンドウを自動で閉じたい時は、最後の「pause」の一行をはずす。
            @echo off
            
            echo epubとmobiファイルを作成しています. . .
            echo.
            
            cd epubcheck
            java -jar epubcheck.jar c:\ebook\files\ -mode exp -save 2> c:\ebook\~epubcheck.log
            cd ..
            
            cd KindleGen
            kindlegen c:\ebook\files.epub >> c:\ebook\~mobicheck.log
            cd ..
            
            echo.
            pause
          
  • 処理中は画面を一切見ずに、結果は常にテキストファイルで確認したいという方向け。
  • 画面には結果を一切表示させず、すべての処理内容を「~epubcheck.log」と「~mobicheck.log」に書き込む。画面も自動で閉じる。
            @echo off
            
            echo epubとmobiファイルを作成しています. . .
            echo.
            
            cd epubcheck
            java -jar epubcheck.jar c:\ebook\files\ -mode exp -save > c:\ebook\~epubcheck.log 2>&1
            cd ..
            
            cd KindleGen
            kindlegen c:\ebook\files.epub >> c:\ebook\~mobicheck.log
            cd ..
          
〈epub作成+EpubCheck+mobi作成 → 結果画面+ファイル出力〉
    • 処理内容を主に画面で確認しつつ、エラーがあればテキストファイルで詳細を確認したいという方向け。
    • 処理内容を画面に表示させ、なおかつ「~epubcheck.log」と「~mobicheck.log」にも書き込む。ウィンドウは開いたままなので、自動で閉じたい時は最後の「pause」の一行をはずす。
    • ただし、Windows標準のコマンドには画面とファイルへ同時に出力するという機能がないので、まずこちらで「UnxUtils」を準備してから実行してください。
                @echo off
                
                echo epubとmobiファイルを作成しています. . .
                echo.
                
                set teeFile="c:\ebook\UnxUtils\tee"
                set nkfFile="c:\ebook\UnxUtils\nkf"
                set tmpFile="c:\ebook\~~~check.tmp"
                set epubFile="c:\ebook\files.epub"
                
                cd epubcheck
                java -jar epubcheck.jar c:\ebook\files\ -mode exp -save  2>&1 | %teeFile% %tmpFile%
                %nkfFile% -s -c %tmpFile% > c:\ebook\~epubcheck.log
                del %tmpFile%
                cd ..
                
                cd KindleGen
                kindlegen c:\ebook\files.epub | %nkfFile% -s | %teeFile% %tmpFile%
                %nkfFile% -w -c %tmpFile% > c:\ebook\~mobicheck.log
                del %tmpFile%
                cd ..
                
                echo.
                pause
              
e. その他のバリエーション
  • 「standard.opf」ファイルだけを「EpubCheck」で検証する。
            @echo off
            echo EpubCheckを行っています. . .
            echo.
            
            cd epubcheck
            java -jar epubcheck.jar C:\ebook\files\item\standard.opf -mode opf -v 3.0
            cd ..
            
            echo.
            pause
          
  • xhtmlファイルを個別に「EpubCheck」で検証する。以下は「p-001-00.xhtml」を指定した例。
            @echo off
            echo EpubCheckを行っています. . .
            echo.
            
            cd epubcheck
            java -jar epubcheck.jar C:\ebook\files\item\xhtml\p-001-00.xhtml -mode xhtml -v 3.0
            cd ..
            
            echo.
            pause
          
  • バッチファイルをいちいち作るのが面倒という方向けに、上記すべてのパターンをファイルにしたものをここに置いておきます。「ebook」フォルダの中に解凍し、必要に応じてあれこれ使い分けると作業効率がアップするかもしれません。
f. 必要なツールを準備する
  • Windows標準のコマンドの他に、必要に応じて以下のツールを使用します。
「UnxUtils」
  • ここからファイルをダウンロードし、解凍してできたファイルを「UnxUtils」フォルダごと「ebook」フォルダの下にコピーしてください。
  • 以下はフォルダとファイル構成の例です。
              C:.
              └─ebook
                  │  dc_template_01_winered_ep3_ebpaj_03.epub
                  │
                  ├─epubcheck   ←----   epubcheckツール用フォルダ
                  │
                  ├─files       ←----   編集した各ファイル用フォルダ
                  │
                  ├─KindleGen   ←----   KindleGen用フォルダ
                  │
                  └─UnxUtils    ←----   UNIX系ツール用フォルダ
                      │  nkf.exe    ←----   文字コード変換用
                      └  tee.exe    ←----   画面とファイル両出力用
          
  • 面倒なので必要なファイルのみまとめてありますが、オリジナルの「nkf.exe」と「tee.exe」ファイルは下記の《使用ツール》にリンクがあります。
「ZIP」
  • Info-ZIP』のサイトから『ZIP 3.0』をダウンロードし、適当なフォルダに解凍します。ここでは例として、Cドライブの「ebook」の下に「zip」というフォルダを作成し、そこにすべてのファイルを解凍してコピーしています。
  • 以下はフォルダとファイル構成の例です。
              C:.
              └─ebook
                  │  dc_template_01_winered_ep3_ebpaj_03.epub
                  │
                  ├─epubcheck   ←----   epubcheckツール用フォルダ
                  │
                  ├─files       ←----   編集した各ファイル用フォルダ
                  │
                  ├─KindleGen   ←----   KindleGen用フォルダ
                  │
                  └─zip         ←----   圧縮ツール用フォルダ
          

《使用上の注意》

  • バッチファイル内のパスはすべて『EPUB3テンプレートの使い方 第三版(電書協仕様準拠版)』で解説しているオリジナルのファイル構成を元に記述しています。ファイル構成を変更している場合は、バッチファイル内のパスも変更してください。
  • 2016/10/25現在の「EpubCheck」最新バージョン4.0.1は表示が日本語化しており、実行した時に『EPUB version 3.0.1 のルールを使って検証します.』のメッセージが出ます。
  • 「EpubCheck」の実行結果と「KindleGen」の実行結果を別ファイルにしているのは、それぞれ出力される文字コードが異なるためです。Windowsの環境によっては、実行中のウィンドウ内および出力先ファイル内の日本語が文字化けする場合があります。
  • 〈epub作成のみ〉で「ZIP」を使用しているのは処理時間を短縮するためです。「EpubCheck」を使用して作成したepubファイルとは微妙に内容が異なるので、あくまで制作過程のチェック用として使用し、最終的には「EpubCheck」でepubファイルを作成した方が確実です。
  • 「EpubCheck」の挙動として、epubファイルを作成するオプションを付ける付けないにかかわらず、まずepubファイルを作成してからチェックに入るため、「EPUB version 3.0.1 のルールを使って検証します.」の表示が出るまでに時間がかかる場合があります。epubファイルを作成するオプションが付いていない場合はチェック終了後にepubファイルが自動的に削除されています。

《使用ツール/参考ツール》

《参照サイト》

《改訂記録》

  • 2016/10/25 電書協仕様準拠版、改訂三版公開に伴い、初版公開
    「KindleGen」v2.9/「EpubCheck」v4.0.1にて確認


top

bottom