# たった600円でオライリー本をiPadやKindleで読む。すてき。
_published: 2010/07/15_ 
オライリー本読んでますか?いろいろ揃っていて、ついつい買っちゃいますよね。でも、価格が高い&厚い&重いの三重苦です。ところが、iPhone版の電子書籍だと600円で買えてしまいます。しかも、場所を取らない。最初は数冊だったのが、今では868冊がリリースされています。
- [これがO’ReillyのiPhone電子書籍だ!!(写真満載レビュー) - このブログは証明できない。](http://d.hatena.ne.jp/shunsuk/20090728/1248778806)
600円でフルバージョンが手に入るオライリー本ですが、やはりiPhoneであのボリュームを読むのはツライ。そこでオライリーでは、iPadやKindleで読める電子書籍を販売しています。
- [no title](http://oreilly.com/ebooks/)
ところが、紙の本と比べてそれほど安くないんですね。iPhone版の600円はやはり魅力です。大丈夫。実はこのアプリからiPadで読めるepubを取り出すことができるんです。特殊なハックというわけではなく、オライリーのサイトでもやり方が書かれています。
- [Ebook Bundles - Getting The Most](http://oreilly.com/ebooks/oreilly_iphone_tips.csp)
さらに、取り出したepubをKindleで読めるmobi形式に変換することもできます。今日は、そのやり方をメモっておきます。
600円のiPhoneアプリを購入します。iTunesでアプリを右クリックして「Finderで表示」します。
![[20100715215507.png]]
表示されたipaファイルをどこかにコピーします。
![[20100715215506.png]]
拡張子をzipに変更し、解凍します。
![[20100715215505.png]]
Payloadというフォルダの中にappファイルがあります。
![[20100715215504.png]]
右クリックして「パッケージの内容を表示」します。bookフォルダの中です。
![[20100715215503.png]]
3つとも選択して、「3項目を圧縮」します。できあがったzipファイルの拡張子をepubに変更します。これで、iPadで読めるepubファイルが完成しました。
![[20100715215502.png]]
Kindleでも読めるようにします。アマゾンのサイトからKindleGenというツールをダウンロードします。
- [Kindle Publishing Programs](http://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000234621)
ホームディレクトリにでも展開しておきます。ターミナルでepubを指定してKindleGenを実行します。
```sh
% cd ~/path/to/epub
% ~/KindleGen/kindlegen Real\ World\ Haskell.epub
```
このままだと、エラーがでました。
```sh
Error(prcgen): The root <ncx> tag not found.
Error(prcgen): The table of content could not be built.
```
応急処置。上記の3項目のうちOEBPSフォルダの中にあるtoc.ncxファイルをテキストエディタで開きます。
```xml
<ncx:ncx xmlns:ncx="http://www.daisy.org/z3986/2005/ncx/" version="2005-1">
<ncx:head>
<ncx:meta name="cover" content="cover"/>
```
このncxというネームスペースを削除します。一括置換で。
```xml
<ncx xmlns:ncx="http://www.daisy.org/z3986/2005/ncx/" version="2005-1">
<head>
<meta name="cover" content="cover"/>
```
再度KindleGenを実行。
```sh
% ~/KindleGen/kindlegen Real\ World\ Haskell.epub
```
![[20100715215501.png]]
Kindleで読めるmobiファイルが完成しました。
![[20100715215500.png]]
それでは、iPadで読んでみましょう。iTunesにepubファイルをドラッグ&ドロップして、iPadと同期します。
![[20100715215459.png]]
この通り。iPadで読むことができました。
![[20100715203358.jpg]]
![[20100715203425.jpg]]
次に、Kindleです。mobiファイルをKindleに入れるだけ。Kindleでも読むことができました。レイアウトも問題ありません。iPhoneと違って、コードもしっかり読めます。
![[20100715203618.jpg]]
![[20100715204255.jpg]]
Kindle形式なので、コンテンツ間やWebへのジャンプも使えます。もちろん、単語にカーソルをあわせると、辞書も表示されます。
![[20100715204356.jpg]]
KindleGenの目次のファイルでエラーが出て、応急処置をしました。その影響で、Kindleでは目次が使えません。epubとmobiの仕様を確認して、なんとか対応したいと思います。
それにしても、各600円でオライリー本を読みまくれるのはうれしいですね。
追記(2010-07-16):dankogai先生が自動化するスクリプトを書いてくれましたよ。
- [404 Blog Not Found:perl - O’ReillyのiPhoneアプリ本からepubをぶっこぬく](http://blog.livedoor.jp/dankogai/archives/51484907.html)
追記(2010-07-17):目次の秘密がわかりましたよ。
- [Kindle形式で目次を表示する。epubとの違い。 - このブログは証明できない。](http://d.hatena.ne.jp/shunsuk/20100717/1279372188)
追記(2010-07-21):目次を生成するスクリプトを書きましたよ。
- [Kindle用の目次を生成するスクリプトを書いた。 - このブログは証明できない。](http://d.hatena.ne.jp/shunsuk/20100721/1279700208)