Amazon.comから割り振られたメールアドレスに,Kindleで読みたいPDFファイルを添付書類として送ると,Kindleで読めるファイル形式に変換してくれる.変換されたファイルが,Whispernetで自分のKindleに送り込まれる.ただし1MBあたり$0.99かかる.また,スパム防止のために,amazon.comのKindle専用のページで,PDFファイルを送るアドレスを指定しておく必要がある.
問題は,この変換がかなり機械的なもので,英文の箇所以外はほぼ使い物にならない.図は無視されるようだし,表組みも乱れる.そしてなにより,数式も保たれない.
■PDFを画像にしてしまい,電子ブックとしてKindleに転送
解決法の一つは,PDFを各ページごとの画像にしてしまうことである.実際にこれをやってくれるのが,PDFread 1.8.2である."PDFRead 1.8.2 released!"の,#1の記事の末尾に,ファイルが添付されている.Microsoft Windowsのユーザは, pdfread-1.8.2-Installer.zipをダウンロードし,解凍すると現れるインストーラを起動すればよい.
上記で使えるようになるPDFread 1.8.2 (Windows版)は,GUI形式でパラメタを設定できる.ファイルのフォーマットはprc, profileは prc-mobi-pとしてPDFを変換すると,Kindleで表示できるファイルが出来る.KindleをPCにUSBで接続すれば外付けドライブとして認識される.Kindleのdocumentsというフォルダに,PDFreadの出力ファイルをコピーして接続を解除すると,Home画面で今コピーしたファイルを確認できる.写真が上の手続きの例である:
From Kindle |
いうまでもなく,いったん画像に変換してしまっているので,検索などは出来ない.
このPDFread(Windows版)は,GUIで指定されたパラメタからコマンドライン版(pdfread)のオプションを組み立て,このコマンドライン版(実はPythonスクリプト)を起動しているだけである.また,pdfreadを読んでみると,だいたい次の処理をしている:
- GhostscriptでPDFファイルの各ページををpng画像に変換し,特定の書式のHTMLファイルを生成する
- 上記のHTMLファイル(とpng画像)から,mobipocket形式のファイルを生成する
■日本語を含むPDFファイルを画像に変換して同じ事をする
つまり,PDFread内で起動されるGhostscriptが日本語を理解するもの(ghostscript-cjkなど)ならば,日本語のPDFファイルからでも,Kindleで読めるファイルが生成できるはずだ.
Windows版でやるなら,PDFreadのインストールされたフォルダ内のgsというフォルダを,日本語対応版のそれ(例えばcygwinに含まれるもの)と入れ替えれば良いのだと思う.実際には試していない.
コマンドライン版のpdfreadが,Windows版のPDFreadがインストールされたフォルダ内のsrcというフォルダに含まれている.あるいは,正式配布場所の「Welcome to PDFRead」からダウンロードできる.これをLinux環境で実行した.幾つか必要なパッケージがある.Ubuntuなら,次のようにして揃えられる:
sudo apt-get install pdftk python-imaging pngnq gs-common djvulibre-bin libtiff-tools unpaper optipng
さらに,gs-cjk-resource他,mapfileのcmap-adobe-japan1や日本語フォントttf-kochi-gothic, ttf-kochi-minchoも必要である.synapticsでインストールすれば良い.
Windows版の時を参考に,コマンドラインを指定する:
- プロファイル(-p)がprc-mobi,
- 出力ファイル(-f)prc
がポイント.
$ python ./pdfread.py -p prc-mobi -t "On 2-part of Tame kernel of quadratic fields" -a "Iwao KIMURA" -c "math" -f prc ~/DocMath/HokurikuNT2009May/handout.pdf
(実際には1行で)のようになる.
ただし,私が試したときにはHTMLファイルとpng画像しか生成されなかった.これらのファイルを再びWindows環境に(USBメモリで)移動して,GUI版のPDFreadに同梱のNRhtml2mobiというファイルでmobipocket形式に変換した.これは,mobiperlという,mobipocket形式のファイルを操作するためのperlスクリプト群の一つを,実行形式(exeファイル)に変換したもののようである.
出力結果が,次の写真である:
From Kindle |
もう少し工夫の余地があると思うので,追求していくつもりである.
0 件のコメント:
コメントを投稿