‘2014/07’ カテゴリーのアーカイブ

電書協ガイドEPUB用試し読みファイル生成スクリプト

2014/07/16

 電子書籍の制作時に、コンテンツファイルと同時に納品が求められるものに「試し読みファイル」があります。これは例えばAmazonであれば画面右側の「1-Clickで今すぐ買う」ボタンの下にある「今すぐ無料サンプルを送信」ボタンから各端末に配信することで読める「試し読み用コンテンツ」のことで、通常冒頭の10%程度を読むことができます。BookLiveなどでは現在ブラウザ画面内で試し読みが出来るようです。
 この「試し読みファイル」は、各配信ストアや電子取次がサービスとして作成することを行っている場合もあるようなのですが、まだ別途必要とするストアもあるようで、現状まだ納品が求められます。また、各配信ストアや電子取次の作った試し読みファイルは出版社に支給されるわけではないため、自社サイトでのプロモーション用途には別途ファイルを用意する必要がある、といった事情もあるのではないかと思います。
 このため、コンテンツファイル完成後に試し読みファイルを制作する必要があるのですが、単純な読み物的なコンテンツならまだしも、画像やリンクが多数含まれるようなリフロー型のEPUBコンテンツを加工して試し読みファイルを制作するのは、実は結構面倒な作業です。

 そこでこの部分を自動化すべくスクリプト化を図っていたのですが、完成し、私の所属する会社から公開の許可も得られましたので公開させていただきます。
 なお、このスクリプトは「電書協ガイド仕様のリフロー型EPUB」用として作っております。例えばでんでんコンバーターRomancerなどで生成した、仕様の異なるEPUBでは、処理後にEPUBソースの手直しが必要になると思われます(おそらく階層化した目次まわり)。あらかじめご了承ください。

使用方法

「++試し読みここまで++」をコメント文で記述あらかじめZIP展開したEPUBフォルダ内の文書XHTMLファイル内に「++Trial reading is so far++」もしくは「++試し読みここまで++」という表記をコメント文等で記述しておきます。その後ターミナル等で
perl makesampleepub.pl(このスクリプトのソースファイル) 展開したEPUBのフォルダのパス 「試し読みはここまで」などと記載されたXHTMLファイルのパス
と入力して実行すると、展開したEPUBのフォルダと同一の階層に試し読みファイルが生成されます。ファイルがデスクトップにあるなら

perl /Users/username/Desktop/makesampleepub.pl /Users/username/Desktop/testepubfile /Users/username/Desktop/試し読みはここまで.xhtml

のような感じです。usernameのところは環境に合わせて差し替えてください。また、XHTMLファイルはあらかじめ作成しておく必要があります。

処理内容の詳細

  1. EPUBコンテンツを先頭から読んでゆき、「++Trial reading is so far++」もしくは「++試し読みここまで++」という文が含まれる行が出てきたらそこでファイルを分割、以後のコンテンツを削除
  2. 必要のなくなったXHTML文書ファイル、画像ファイルを削除
  3. OPFファイル内の消去したXHTML文書ファイル、画像ファイル関連の記述を削除、書名に「【試し読み版】」の記述を追記
  4. 文書ファイル消去により無効になったコンテンツ内リンクの消去
  5. 文書ファイル消去により無効になったHTML目次項目のリンクの消去
  6. 文書ファイル消去により無効になった論理目次項目の消去
  7. 「試し読みはここまで」などと記載されたXHTMLファイルをコンテンツ末尾に挿入、OPFにファイル情報を追記
  8. 以上の処理を行い、試し読みEPUBファイルを生成

ソースファイル

ダウンロードはこちら↓

このスクリプトを利用したことによる損害等に関しまして、私としては一切責任を負いかねますので、あくまで自己責任にてご利用ください。
転載・改訂等はご随意に。なお、改訂して再配布される際には@JunTajimaまでご一報いただけると嬉しいです。といいますか誰かスゴい人、汎用EPUB用コードに直しちゃってください。

なお、先日KADOKAWAさんのTw-ePub発表直後にこんな記事が流れてきてましたので、記事のとおりBiB/iを使って、生成した試し読みファイルをTwitterに流してみました。


意外と簡単でしたし、何よりTwitter経由でのコンテンツとの偶然の出逢いはずっと電子書籍の課題として挙げられ続けてきた「ディスカバラビリティ」の補完策になります。ライトコンテンツのプロモーション用としては結構有効と思いますので、活用を検討されてみてはいかがでしょうか。

(2014.7.16)

プロフィール
Jun Tajima

こちらにて、電子書籍&Web制作を担当しています。
このブログは、EPUB3をはじめとした電子書籍制作担当オペレータからの、「電子書籍の制作時にたとえばこんな問題が出てきていますよ」的な「現地レポート」です。少しでも早い段階で快適な電子書籍閲覧・制作環境が整うことを願って、現場からの声を発信していこうと目論んでおります。

当ブログ内の記事・資料は、私の所属しております組織の許諾を得て掲載していますが、内容は私個人の見解に基づくものであり、所属する組織の見解を代表するものではありません。また、本ブログの情報・ツールを利用したことにより、直接的あるいは間接的に損害や債務が発生した場合でも、私および私の所属する組織は一切の責任を負いかねます。