Desire for wealth

Last-Modified: Friday, 19-Sep-2014 09:05:40 JST / PV : 20508357 / Owner : Nihondo

だめちゅんにっき

ひとつ前の記事

iTunes のかゆいところに手が届く Tune-up iTunes (Mac/Win) 10.0.0 アップデート - 9/ 3 15:49

ひとつ先の記事

Mac/Windows で動く化物語時計ビューアを作りました - 9/ 9 04:11

9月 5日(日)

ScanSnap の自炊 pdf を自動で美白化(レベル補正)する

以前書いたエントリで、うちの断裁スキャンのポリシーは以下であると書きました。

  • 拙速主義(サイズ、画質ともに気にしない
  • 袋とじや、折り込みページもスキャンしない(何も考えずにできる事だけをする
  • スキャンは雑誌のみとし、断裁後すぐ捨てる(単行本を切るべきかなどで悩まない

現在、一ヶ月にスキャンしているコミック誌は70冊程度ですが、これを維持し続けるには、ScanSnap が出力する以上のことはやらないとあらかじめ決めるのが肝要だと思っていたのです。

ところが、先週 Kindle が届いてみるとそうも言ってられず…。

コミック雑誌の紙の色が問題なんですね。iPad や iPhone で読むぶんには紙の色がそのまま表示されますからあまり気にならないんですが、Kindle はグレースケールなので紙の色によってはインクがよく見えないというね…。

そこで「pdf の美白化」をしようと思い立ちました。目標はこれまでのポリシー通り「何も考えずに」やる、です。

例えば、以下の例のように上段の ScanSnap の生出力を、下段のようにホワイトニングするわけです。何も考えずにやるので、カラー情報は失われます

まあ、みなさんは紙が白い単行本をスキャンされてると思うので、あまり関係ない記事ではありますがが、お付き合いください。

今回は convert を使うので、imagemagick のインストールが必要で、かつ convert で pdf を取り扱うので ghostscript も必要です。

pdf の画像のレベル補正を行う
convert -density 150x150 -type GrayScale -linear-stretch 10%x35% -geometry 512x -compress jpeg -quality 80 a.pdf b.pdf
  • -density 150x150:pdf から画像を取り出すときの解像度。ScanSnap の読み取りモード「ノーマル」なので150dpi
  • -type GrayScale:グレースケール化する
  • -linear-stretch 10%x35%:レベル補正。パラメータの意味はこちらが詳しいので参照のこと
  • -geometry 640x:横方向のサイズを640に。ここでは iPhone4 向け最適化を同時に狙っている
  • -compress jpeg:jpeg 圧縮で格納
  • -quality 70:jpeg の品質

オッケー、美白せいこうー。じゃあ、あとはこれをフォルダアクションから実行して…っと、これで目的は達成した…ように見えたのですが…。

小さい pdf なら上記の方法で十分なのですが、1200 ページほどの少年ガンガンとかを変換すると、メモリ 8GB 積んでいる環境でもスワップするほどにメモリを食うんです。あと、gs はなんだか遅いし…。

一行ですまそうとしたのがまずかった。というわけで、一括処理しないで手順を踏んで実行することにしました。今回は、Mac なので Automator のワークフローをつかってみます。

Automator には下のようなアクションがあって、gs より高速に pdf を扱うことができます。

これで出力した jpeg を、テンポラリフォルダに移動させたり、ファイル名に連番をつけたりしたあとで、シェルスクリプト実行のアクションで加工します。たとえばこんな。

jpeg 画像のレベル補正を行う
# 表紙だけ別処理するためにズル($1はテンポラリフォルダ)
mv $1/page-0001.jpeg $1/page-0001.jpg
convert $1/page-0001.jpg -geometry 640x -quality 70 $1/page-0001.jpg

# 表紙以外はグレースケール化
find "$1" -name "*.jpeg" -exec convert {} -type GrayScale -linear-stretch 10%x35% -geometry 640x -quality 70 {} \;

テンポラリフォルダ内を *.jpeg で find して一個ずつ convert を呼び出すわけですが、ポイントは表紙だけカラーを維持させるために拡張子を jpg に変えて、個別に変換するズルをするところです。

pdf のアイコンが白黒だと寂しいですからね。で、以下のアクションで pdf に戻します。

このワークフローをフォルダアクションに登録して、pdf が所定のフォルダに格納されたら、自動的に以下のように変換する仕組みができました。

たぶん他の人の環境ではそのまま動かないと思いますが、今回のワークフローを置いときます。

ImageMagick-6.6.3 のインストールパス($HOME/ImageMagick-6.6.3)や、出力先ディレクトリ(入力 pdf と同じ階層に light ディレクトリが必要)などを、いじってください。

あと、Automator の「表示」メニューから「変数」を選択すると、変数一覧が出ます。jpeg 品質や解像度などのパラメータはここから編集してください。

これであなたも愛され美白 pdf でモテモテというわけですね!

これまでの断裁スキャン関連記事

9/ 5 23:42

このエントリーをはてなブックマークに追加

twitter

最近の記事

Tune-up iTunes 11.1リリース(Mac版 iTunes 11.1対応版) - 9/29 21:47

Tune-up iTunesのiTunes 11.1対応について - 9/26 01:28

HTC J Oneを自炊コミックのために買ってみたら、動画再生がすごかった - 6/ 3 01:35

ファルセット聴くだけで泣くようになってしまった『高垣彩陽 2ndコンサートツアー 〜relation of colors〜 舞浜公演』 - 6/ 2 01:18

「ファンタジーライフ Link!」に備えて、無印「ファンタジーライフ」のDL版を安く買ってレベル上げながら待つのがいいよ - 5/28 00:56

iOS版 JoyHackPlayer テスター募集 & JoyHack System 最新ビルド公開 - 4/28 22:00

Tune-up iTunes の Mountain Lion 対応版をリリース - 7/29 19:49

C81 持ち込みカラオケシステム「女医ハック」頒布〜64bit Intel Mac対応/予約画面更新 - 12/30 19:55

GALAXY Note が 自炊コミックリーダーに最適すぎる - 11/ 6 03:23

Mac/Windows で動く美声時計.Rビューア公開 & 美声時計1,2ビューアを Lion 対応 - 9/25 02:52

さらに以前の記事へ