2010年7月22日木曜日

[Programming] Google Books の画像を ZIP でまとめる Firefox アドオン

寝転がって iPad で本や楽譜を読む日々なのであります。そんな中、Google Books で公開されている LIFE や Popular Science 等のアーカイブはまさに宝の山なのですが、Mobile Safari ではスクロールバーが表示されないので読めないという状態になっています(正確に言えば←→ボタンがあるので、これで読み進めることは可能なんですけど、これがまたエラく小さいんで押しづらいんですわ)

なんらかの手段によりダウンロードして読むしか無いというわけですが、Google Book Downloader はWindows 専用ですし、グリモンの Google Book Downloader スクリプト+ FlashGot もダウンロードの自動化は可能なものの、ZIPにまとめる作業が要ります。

幸いなことに Firefox アドオンでは nsIZipWriter が使えますので、ここはひとつ作ったれということで作ってみました。グーグル先生に怒られそうな機能ですし、Mozillaのアドオンギャラリーに登録するのは結構ダルいので、野良 XPI として Dropbox の公開フォルダに入れておきます → googleBooksZipper.xpi

なお、手許に Windows 環境が無いので動作検証はしていないのですが、OS の違いを吸収する処理(パスデリミタの切替くらいしか無いんですけどね)は行っているので、多分、Windowsでも動作するでしょう。

単機能なアドオンなので説明は不要でしょうが、一応、取説的なものを以下に書いておきます。

googleBooksZipper.xpiをインストールすると、コンテキストメニューに


と、現在開いている本を ZIP で保存するという項目が追加されます。この項目を選ぶと
と、ZIPファイルの保存先を聞いて来ますので、お好みの場所を選んで「保存」ボタンを押すと、

と、小さなウィンドウが開きます。このウィンドウでは出力する画像の横幅(ピクセル数)が設定出来ます。デフォルトとして1024が設定されていますので、お好みで変えてください。"close this dialog when completed" というチェックボックスがありますが、これにチェックを入れておくと、処理終了後にこのウィンドウを自動的に閉じるようになります。

設定後、ZIP ボタンを押すと処理が開始され、進捗が表示されます。処理の手順としては、まず各ページの画像URLをGoogleに問い合わせます。

続いて、各画像をダウンロードしテンポラリファイルに保存します。

各画像のダウンロードが終わると ZIP 処理が行われ、完了すると

と、その旨が表示されます。これで ZIP ファイルが所定の場所に出来ているはずなので、あとは CloudReaders など、ZIPファイルに対応したリーダーに放り込んで読みましょう。

なお、私は books.google.com を利用しているのですが、books.google.co.jp だと画像のダウンロードが中断してしまうことが多々あるようです。原因は不明なのですが、中断した場合はいったん close して最初からやり直すしか今のところ手がありません。一見したところアクセス制限してるぽいので、ウェイトを入れる必要があるのかもしれませんね。

0 件のコメント:

コメントを投稿