Web、サーバ、ソフトウェア、バグ・脆弱性 などの情報を何人かで集まって書いていく IT/Web情報系ブログ

【NODO epub maker】画像を電子書籍(epub)にするソフトつくったよ【epub 3対応】

投稿日:   最終更新日:2018/02/23  投稿者:nk.

先日、Kindle Comic Creator用の目次編集ツールを作ったわけだが、どうやら他のファイル形式でもなかなかいいソフトがないらしい。
というわけで、今回は楽天とかで使えるepubファイルを作れるソフトを作った。
画像をまとめてepubにするだけのソフトなので、普通の文書などには対応していない。
ただし、自炊したjpegファイル群をepubに変換する際には使えると思う。

最大の売りは、見開きページ設定時にノド(ページ中央余白)を設定できること。んkさんが知っている限り、この機能は他のepub作成ソフトにはない(少なくとも開発開始時は。今はあるかもしれないし前からあったかもしれない)。ちょっと研究した。がんばった。

今回のソフトを作るにあたって、ヤマノスのLV3さんに大変お世話になりました。この場をお借りして御礼申し上げます。
また、説明で用いている漫画素材の利用も快く承諾していただきました。重ねて御礼申し上げます。

表示例として用いているepubリーダーにはReadiumを用いています。

使い方

画像ファイルを用意する

電子書籍にしたい画像ファイルをまず用意してください。
1冊(?)の電子書籍にできる最大のファイル数は9999枚です。

スポンサーリンク

epub makerをDLする

下記リンクよりDLできます。

“nodo epub maker” をダウンロード nodo-epub-maker.1.5.1.zip – 2640 回のダウンロード – 21 KB

v1.5.1は誤検出もされないようになりました。
また、名前をNODO epub makerに変更しました。
詳しいアップデート情報は記事下部で。

まだ誤検出される場合、Windows Defenderの誤作動だと思われます。
コメント欄を参考にして頂くとダウンロードできます。
フォルダの除外の仕方はMicrosoftのサイトで確認できます
あるいは、Windows defenderを手動アップデートしてみてください。

安定版(v1.3)も引き続き公開しておきます。

“epub maker 1.3” をダウンロード epub-maker.1.3.zip – 782 回のダウンロード – 20 KB

解凍

DLしたファイルを解凍します。

起動

nodo-epub-maker.exeを起動してください。

画像の読み込み

「画像リスト」タブを開き、画像の入ったフォルダを灰色の部分にドラッグアンドドロップします。

すると、そのフォルダの中にある全ての画像(JPEG, PNG, GIF, BMP)がリストアップされます。
画像ファイルだけをドラッグアンドドロップしても追加可能ですし、「画像の追加」メニューからも追加できます。

画像リストの1枚目は表紙として設定されます。

画像をプレビュー表示しているため、画像の追加には時間がかかります。
私の環境では100枚で数秒でした。
固まっているように見えるかもしれませんが、処理は続いているので強制終了等はしないでください。

表示設定

「表示側」を設定することで、ページのどの部分に画像を表示させるか設定できます。

見開きに設定

epub表示ソフト(ビューワー)が対応している場合、ページの表示を「右、左、右、左・・・」に設定すると見開きに設定できます。
いちいち切り替えるのが面倒な場合、「画像の追加」メニュー→「見開き設定」→「表紙以外全て見開き」を選択すると、自動的に、表紙だけが中央、以降全て「右、左、右、左・・・」に設定されます。

見開き時の中央余白(いわゆるノド)の設定は「高度な設定」で説明します。

見開きで設定すると以下のようになります。

「基本情報」の「本を開く方向ページ送り順」を横書き・洋書左から右
」にしてから
見開き設定を適用すると、左右の順番が逆になります。

全て単一ページで表示

同様に、全て単一ページで表示させたい場合は、「画像の追加」メニュー→「見開き設定」→「一括指定」→「全て中央」等で行えます。

目次設定

目次の設定方法は、ncx editorとほぼ同じなので、こちらの記事を参照してください。

著者情報

「著者情報」タブから、著者情報を設定できます。
「著者を追加」ボタンから、著者を追加し、各項目を編集します。

副次的な著者(直接著作には関わっていないが、著作に関連する人)は「役割」を「協力者」に設定します。

著者情報を保存/復元

複数の書籍を発行する場合、いちいち著者情報を入力しなおすのは面倒だと思います。
「著者情報」メニュー→「著者情報の保存」で、現在入力されている著者情報をファイルに保存します。
保存した著者情報ファイルは復元できます。

基本情報の設定

書名等の基本情報の設定をするには「基本情報」タブを開きます。

高度な設定

表紙のサイズに強制リサイズ

画像のサイズを表紙のサイズに強制的にリサイズできます。
ただし、Windows標準搭載のアルゴリズムでリサイズを行っているため、補完処理が賢くない可能性があります。
専用のリサイズソフトをお持ちの場合、そちらを利用したほうが良いでしょう。

リサイズ時のファイル形式

リサイズするときのファイル形式を指定できます。
PNGにすると画質は保たれますが、オリジナルがJPEGの場合はファイルサイズが大きくなる場合があります。
JPEGにするとファイルサイズは抑えられる(ただし色数が多い場合のみ)ものの、画像は劣化します。

見開き時の中央余白

いわゆる「ノド」の設定ができます。
ページ幅の都合上、4px単位になります。
全て中央表示にしている場合、この余白はページ左右の余白(左右それぞれこの項目の1/4ずつ)になります。
余白を入れた場合、画像のサイズは変わりませんが、ページの横幅は余白分増加します。

余白に20pxを指定した場合の表示例

余白のサイズは実際には画像の描画サイズに依存します。
ビューワーで縮小表示している場合、余白も縮小されます。

その他

epubのバージョン

epub 3対応です。

epubのvalidation

Pagina EPUB Checkerでエラーが出ないことを確認しています。
EPUB Checkerのバージョンは1.7.1です。

v1.5.1より、epubcheck 3.0.1でもエラーが出ないことを確認しました。
というかv1.3だとepubcheckでエラーが出ます。C#の標準ライブラリがクソだった。epubcheckのヘッダ検査も決めうちでクソだった。

要望・質問等

要望・質問等があればこの記事にコメントを残してください。
ただし、私はしがないプログラマであって漫画の作り手ではないので、漫画自体に関する質問は答えられません。
要望もめんどくさかったらなかったことにします。

めんどくさかったからなかったことにした要望

  • 画像のプレビュー時、見開き設定時は2枚横に並べて表示してほしい

バグ扱いされそうな仕様

保存する際に2バイト文字を使うとEPUB Checkerでエラーが出るようになる

仕様です。
ネット上でファイルを配布する際に普通2バイト文字は使わないのでさほど問題はないと考えています。
epub 3.01におけるファイル名の仕様を見るとマルチバイト文字を使うな(ASCII範囲でないといけない)とはないので、むしろEPUB Checkerがepub 3.01の仕様に対応していないだけだと思います。
こんなしょーもないとこでエラー扱いされるのも癪なんでv1.5.1はマルチバイト文字を使っても怒られないようになってるはずです。たぶん。知らんけど。

バージョンアップ情報

v.1.5.1

名前を「NODO epub maker」に変更
epubcheck 3.0.1対応
ファイル名を自動ソートする際のアルゴリズムを自然順に変更
リサイズしていない時のepub全体の縦幅・横幅を表紙にあわせるのではなく、利用している画像の中で最大幅のものにあわせるように変更(一部epubリーダーで画像下部が見切れる現象はこれで直るかもしれない。わからんけど。)

v.1.4

縦書き・横書き設定を忘れてたので追加。

- C# ,

Comment

  1. くろくろ より:

    コメント失礼します!
    この素晴らしいプログラムを作ったことに感激し愛用させていただいております!
    誠にありがとうございます。
    もしよろしければ改良して欲しいことが1つあります。。。
    それはファイル名で自動ソートした時に、
    1.jpeg 2.jpeg 3.jpeg•••とはならずに
    1.jpag 10.jpeg 100.jpeg ••••2.jpeg 20.jpeg••••となってしまいページの順番が狂ってしまうところを直して欲しいです、、、、
    今は他ツールでファイル名を0001としてやっていますが結構な手間なので出来ればこのソフト1つで済むのであれば神ソフトですのでどうかよろしくお願いいたします。

    最後にいろいろわがままを言ってしまい申し訳ありません。しかし本当にすごいソフトだと思っていますのでよろしくお願いいたします。

    • ktm@s より:

      epub makerを使って頂いてありがとうございます。
      nk.が多忙のため代理としてお返事します。

      まずソート順に関してですが、対応に関して技術的な障害はありませんが、前述の通りnk.に時間が無いため時間が取れ次第対応させて頂きます。
      長い目で見守ってください。

      epub出力で下側が見切れる件に関してですが、そちらはお話だけでは原因がわかりません。
      よければ見切れたepubとその際使っていた設定をktm@s宛にメールで送って頂けると助かります。

      • くろくろ より:

        見切れたファイルは消してしまってないのですが、、、
        確か画像を追加して見開き設定などは行わず書き出した時になった気がします。

  2. くろくろ より:

    あと書き忘れてしまったのですが、epubに出力すると画像の下側が切れてしまうのですが何か設定すれば直りますか?

  3. のんのん より:

    コメント失礼します。こちらのソフトを使わせて頂いたのですが、readiumで表示する分には、きちんと表示がなされるのですが、スマートフォンにそのデータを移し、gitdenreader、ibooks等を用いたところ、画像下部が見切れるという症状が出ました。画像は表紙サイズに合わせられ、以後同じサイズで表示されています。変換を行った時の設定としては、基本設定の表示に関するチェックボックスは触れず、見開き設定を表紙以外全て見開きと設定しました。

    • nk. nk. より:

      のんのんさん

      情報ありがとうございます。
      よければ画像の縦横サイズを教えていただけませんか。(スマホの縦横比より画像の縦の長さの割合が長いと見切れてしまうのかも・・・?)
      また、表紙と本編画像の元の縦横サイズは異なりますか?(リサイズ機能を使いましたか?)

      一番分析しやすいのは、その見切れるepubファイルをいただくことなのですが、それは可能でしょうか。

      ついさっき帰ってくるぐらいに多忙なので修正には時間がかかりそうです。
      お手数をおかけして大変申し訳ありませんが、よろしくお願い致します。

  4. のんのん より:

    pcのビューワーで見る限り、このソフトは素晴らしいものでした。ありがとうございました。

  5. くろくろ より:

    お疲れ様です。
    v1.5.1早速使わさせていただきました!
    対応早すぎて驚いております!
    お忙しいのに希望に沿った変更をしていただきありがとうございます。

  6. ムーン より:

    nodo epub maker 1.5.1 がダウンロードできません。
    何度も試しましたがウイルスが含まれている為削除、となってしまいます。
    epub maker 1.3 は問題なくダウンロードができて、使ってみたのですが
    とても素晴らしいソフトで何年も試行錯誤してあきらめかけていたことが
    簡単にできて感動しています。
    ただ、ページの開きが右から左にしかできず、是非 nodo epub maker 1.5.1 を使わせて頂きたいのですが。何か方法があれば教えてください。

    あと、1ページが横長の1枚画像原稿なのですが、タブレットを縦にしたときは1ページ(1枚画)ずつ見れるように設定できたのですが、タブレットを横にしたときは、見開き2ページ(横長ページが2ページ分横並び)になってしまいます。タブレットを横にした時にも1ページ(1枚画)のみの表示に設定することはできますでしょうか。

    • nk. nk. より:

      > 何度も試しましたがウイルスが含まれている為削除、となってしまいます。
      お使いのウィルス対策ソフトを教えて頂いてよろしいでしょうか。
      国内主要ベンダーでは誤検出されないようになっているはずなのですが……
      もしかしたらムーンさんの使っているウィルス対策ソフトの定義ファイルが古い可能性もあります。

      > タブレットを横にした時にも1ページ(1枚画)のみの表示に設定することはできますでしょうか。
      「見開き設定」を「全て中央」にしてもそうなるのでしょうか。
      もしかするとタブレットに入っているepubリーダのソフトが対応していない(横にすると常に2枚表示にしてしまう?)のかもしれません。

  7. ムーン より:

    ご連絡ありがとうございます。どうやら Windows Defender の最新版が原因でインストールできなかったようです。Windows Defender の設定でウイルススキャンをしないフォルダを作ってインストールしたら無事インストールできました。Windows Defender 以外のウィルスソフトでスキャンしても問題なかったので、これが原因かと思います。

    タブレットを横にした時の見え方について、
    iphoneのiBooksで見て前回の書き込みのように書きましたが、縦画面でも画像をピンチして小さくすると、横画面同様に1ページに2枚の画像が横並びになってしまってました。
    「見開き設定」を「すべて中央」にしても同じ状況だったので、各ページを2分割してすべて見開き設定にしたところ、横画面でも縦画面でも正常に見れるようになりました。
    ただ、変換に失敗することが多く、10回試して一度だけ成功しました。何故かは不明ですが、2分割したことでページ数が154ページと大量のページになったからでしょうか。もし理由が分かればうれしいです。

    とにかく無事1ファイル完成しました。本当に素晴らしいソフトで感動しています。
    ありがとうございました。

    • nk. nk. より:

      > Windows Defender の設定でウイルススキャンをしないフォルダを作ってインストールしたら無事インストールできました。
      解決できたようでよかったです。
      Windows Defenderは盲点でした。

      > iphoneのiBooksで見て前回の書き込みのように書きましたが、縦画面でも画像をピンチして小さくすると、横画面同様に1ページに2枚の画像が横並びになってしまってました。
      iPhoneを持っていないので残念ながらこちらでは確認できないのですが、もしかするとiBooksの仕様なのかもしれませんね。

      変換に失敗するというのは、メモリが足らない等のエラーが出るのでしょうか。
      お手数でなければ、詳細を教えて頂ければと思います。

  8. ムーン より:

    変換に失敗した際のエラーメッセージは以下のようなものでした。

    ——-

    アプリケーションのコンポーネントで、ハンドルされていない例外が発生しました。、、、、、メモリが不足しています。

    Just-In-Time (JIT) デバッグを有効にするには、このアプリケーション、またはコンピューター (machine.config) の構成ファイルの jitDebugging 値を system.windows.forms セクションで設定しなければなりません。アプリケーションはまた、デバッグを有効にしてコンパイルされなければなりません。

    JIT デバッグが有効なときは、このダイアログ ボックスで処理するよりも、ハンドルされていない例外はすべてコンピューターに登録されたJIT デバッガーに設定されなければなりません。

    ———
    すいません。なんのことやらわかりませんが。このようなメッセージでした。

    • nk. nk. より:

      情報ありがとうございます。
      なんとなくわかりました。

      ご指摘のとおり、枚数が多くなるとパソコンに搭載しているメモリが不足する可能性が予想されます。
      パソコンの起動直後に、他のアプリケーションを起動させずに実行すると問題は解決するかもしれません。

      このソフトでメモリを大量に消費する作業としては、ページ一覧のサムネ表示とepubファイル作成が該当します。後者はどうしようもないですが、前者は省略する(画像追加時にサムネを表示しない)ことでメモリ消費量を抑えられると思います。
      最近忙しくてなかなか時間が取れませんが、次期バージョンアップ時にはこの点を検討したいと思います。ありがとうございました。

  9. ムーン より:

    こちらこそありがとうございました。
    また素晴らしいソフトを期待しています。

  10. fooman より:

    v1.3は正常にダウンロードできますが、v1.5.1はウイルス検知に引っ掛かりダウンロードできません。

    • nk. nk. より:

      ご連絡ありがとうございます。

      改めて大手ベンダーのウィルス対策ソフトで検証しましたが、検出されませんでした。
      おそらくWindows Defenderの誤検出なので、コメント欄を参考にすればダウンロード可能かと思います。

      Microsoftのほうにも報告を入れたいと思いますので、お使いのOSのバージョン(Windows8なのか10なのか)と、検出された名前を教えていただけないでしょうか。
      手元のWindows Defenderでは検出されなかったので、ご協力お願いできればと思います。よろしくお願い致します。

      • fooman より:

        ご返信ありがとうございます。
        下記がVer.情報になります。
        Windows 10 Pro
        Windows Defender
        マルウェア対策クライアントのバージョン: 4.12.17007.18011
        エンジンのバージョン: 1.1.14500.5
        ウイルス対策のバージョン: 1.261.1326.0
        スパイウェア対策のバージョン: 1.261.1326.0
        ネットワーク リアルタイム検査エンジンのバージョン: 2.1.14202.0
        ネットワーク リアルタイム検査の署名のバージョン: 118.2.0.0
        以上よろしくお願い致します。

        • nk. nk. より:

          返信が遅れてすみません。
          検出されたときのウィルス名も教えて頂いてかまわないでしょうか。

          英語の資料になりますが、過去に検出されたマルウェア名の再表示の仕方は以下のアドレスにあります。
          https://docs.microsoft.com/ja-jp/windows/security/threat-protection/windows-defender-antivirus/windows-defender-security-center-antivirus#detection-history

          以下に拙訳ですが日本語に翻訳したものを載せます。いま手元にWindows 10がないので表示名は異なるかもしれません。

          1. タスクバー上の盾アイコンをクリックするか、スタートメニューから「Defender」を検索して「Windows Defender セキュリティセンター」のアプリを開きます
          2. 「ウィルスと脅威からの保護」のタイルか、左メニューバーの盾アイコンをクリックします
          3. 「スキャン履歴」をクリックします
          4. 各カテゴリー(現在の脅威、隔離済みの脅威、許可された脅威)の「全ての履歴」をクリックします。

          たびたびお手数をおかけいたしますが、よろしくお願いいたします。

        • nk. nk. より:

          Microsoftに検体を提出したところ、ウィルス対策のバージョンが1.261.1510.0だと検出されないようです。
          もしかするとfoomanさんのPCのWindows defenderが古いのかもしれません。

          Windows defenderの手動アップデートについては、以下の記事をご参照ください。
          https://pc-karuma.net/windows-10-defender-get-latest-definitions/

          • fooman より:

            ご対応頂きましてありがとうございました。
            Windows Defenderは昨日のアップデートはされていましたが、念のため今朝アップデートし、
            ダウンロードおよび実行可能であることを確認できました。
            自動でアップデートする設定にしておりましたが、2/19,20時点では上記のような状態でした。
            重ねて対応への感謝と、重宝するソフトを公開頂きありがとうございます!
            Have a Nice Weekend!

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事