MacOSXできれいなPDFを作る

日ごろKindleで読むものは限られていて、B5変版サイズの技術書の類です。O'Reillyとか。保存用のファイルと色々なサイトを参考にKindleで読む適切なPDFをOSXで作ってみます。

「画面内の部品を認識して無駄な外周マージンを省いて拡大表示してくれやがる」という“親切”機能を無効化したい訳なので、画像の外周に部品を置いてやれ!ってことです。試しにJPEG画像の右上と左下に汚れをつけたものをPDF化してやると、綺麗にDot-by-Dotで表示してくれました。

source:KindleDX用小説自炊レシピ 最終版? | 道具眼日誌:古田-私的記録

上記サイトでは、おてがる画像変換というソフトで逆L字線をいれていますが、これはWindowsのソフトなのでOSXではImageMagickで外側に1ピクセルの枠を付けて対応してみます。ImageMagickMacPortsでインストールしています。

処理する内容としては

  • 外側に枠
  • サイズ変更
  • ガンマ値の調整(取り込んだままKindleで読むと字がかすれる)
  • EXIFの削除(少しでも軽く)

ImageMagickのコマンドにするとオプションはこんな感じ。whileで囲むと

ls -1 *.jpg | while read TARGET_FILE; do convert -strip -border 1x1 -bordercolor gray -gamma 0.5/0.5/0.5 -resize 1566x2282 $TARGET_FILE tete/$TARGET_FILE; done

※1 ImageMagickで784x1142にサイズ変更(-resize)すると、画質がいまいちなので2倍の1568x2284にしてみた
※2 4辺に1ピクセルの枠(-border 1x1)をつけたのでサイズは 1568-2 x 2284-2 に指定


これをAcrobatでPDF化。Kindleで見ると比較的きれいなPDFが出来てました。問題というほどじゃありませんが、ImageMagickの処理が結構重く時間がかかります。

ココの情報が大変有用でした。ありがとうございます。

2009/8/29追記 間違ってました。4辺に1ピクセルの枠つけた場合、1568x2284のままで枠も含まれてresizeされてました。-2は不要でした。