2014年12月13日

EPUBの配信


 EPUBはスタンダードなフォーマットになりつつあります。
 AmazonのKindle向けも、使用に準じたEPUBを制作してあれば変換が可能です。
 この、EPUB形式の電子書籍を販売ではなく、無料で配布したいケースもあります。たとえば、小冊子やガイドブック的なもの、メールマガジンのバックナンバー、立ち読み版などです。

 こうしたモノの置き場所として、自信が所有するサーバにスペースを設けて、そこから配信というのが一番簡単でしょう。
 このケースを一番見かけます。

 ただ、きちんと検証していないのか、ブラウザによって正しくダウンロードできません。

 xxxx.epubというファイルなのに、ダウンロードすると拡張子が.zipになってしまう。
 ダウンロードに失敗する。

 こうしたトラブルがあります。
 特に、ダウンロードしてほしい、スマートフォンやTabletで起こります。

 ChromeやFirefoxなどのモダンブラウザなら問題がない場合でも、他のブラウザや端末でダウンロードできるか確認が必要です。

 こうした不具合は、epubという拡張子の圧縮ファイルがあるのと、拡張子自体がまだ一般的ではないためです。
 一般的によく使われる、拡張子はサーバのMIMEタイプとして登録されています。この登録内容によって、ブラウザで開くのか、ダウンロードするのか、プレーヤーで再生するのかなどが変わります。

 EPUBのダウンロード問題を解消するには下記の設定を行います。
 .epubファイルのあるフォルダへ、「.htaccess」というファイルを設置します。このファイルは、フォルダへのアクセスを制限したり、さまざまな設定を行うためのファイルです。

 まず、「.htaccess」ファイルを作ります。
 すでに、「.htaccess」がある場合は、今あるモノに追記をしてください。

 新しく作る場合は、メモ帳などで、「htaccess.txt」を作ります。
 Windowsでは、先頭に「.」のあるファイルを作れないので、サーバにアップしてから変更します。

 ファイルの中身は、テキストエディタなどで次のように記述しておきます。



AddHandler application/epub+zip .epub
AddType application/epub+zip .epub




 必ず最後に改行を入れてください。
 改行があって初めてその行の内容が有効になります。

 文字コードはShift-JISで、改行コードはLFにします。

 FTPクライアントなどで、EPUBと同じフォルダへアップします。
 アップしたら、「.htaccess」に名前を変更します。

 パーミッションは、604に設定します。
 サーバで指定がある場合はそれに合わせてください。 


 これで、ダウンロードが正常にできるようになりました。
 ただし、BASIC認証で特定の人にしかダウンロードさせたくない場合は注意が必要です。
 Androidでダウンロードする場合、ダウンロード自体は「ダウンロードマネージャ」が行います。

 つまり、
1:ブラウザでアクセス
2:BASIC認証する
3:ダウンロードのリンクをクリックする
4:ダウンロードマネージャーにファイルのURLが渡る
5:ダウンロードを開始する

 という流れになりますが、4の時点でダウンロードマネージャへはURLのみです。とうぜん、別のアプリなのでBASIC認証はされていませから弾かれてしまいます。

 他のブラウザや端末ではうまく行くのに、Androidだけうまく行かないという場合は、これが原因です。
 私もこれが分からなくてはまりました。

 回避する方法はいろいろあります。たくさんありすぎるのでここに書くのは割愛します。
 各自でセキュリティとの兼ね合いを考えて対応していただければと思います。

 せっかく作ったEPUBですから、みんなにダウンロードしてもらいたい。
 一度ダウンロードで引っかかったら、何とかして落とそうとする人はあまりいません。もう一回試してみて、ダメだったら帰ってしまいます。

 読んでもらって初めて価値がでますから、その前の段階で引っかからないようにしておきましょう。
posted by Outliner 伊藤 崇 at 07:00| Comment(0) | 電子書籍・出版
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント: