駄目社員はむの日記

USO800 certified.

めもめも:K2pdfoptで、(自炊)カラーPDFをグレースケール/モノクロPDF化する方法

K2pdfoptは、幣日記でも以前紹介したが、様々なPDFをモノクロ・低解像度のKindleで読みやすくなるよう(勝手に解釈・リサイズして (^^; )変換してくれるソフトウェアだ。
これを使って、自炊のカラーPDFを(リサイズせずに)お気楽にグレースケール(or モノクロ)に変換し、ファイルサイズを小さくすることを試みる。


実のところ、僕がCPUパワーとストレージが十分なiPad Gen4(64GB)を使っている限りは、自炊した巨大なカラーPDFファイルをそのまま持ち歩きブラウズするので一向に構わない。一方iPad miniKindleなどでカジュアルに自炊PDFを読むようなケースだと、ファイルサイズが小さいほうが好ましく、かつカラーでなくても良いので、変換する方法を模索してみた。

こいつがカラー300dpiのオリジナル(オリジナル67MB, 140ページ)。

まずは、リサイズしない方法を検討。

Willus.com's K2pdfopt Help Page
のoptionsを探して行くと、「リサイズせずにビットマップで保存」できるオプション「-mode copy」を発見。

 -n- -wrap- -col 1 -vb -2 -w -1 -h -1 -dpi 150 -rt 0 -c -t- -f2p -2 -m 0 -om 0 -pl 0 -pr 0 -pt 0 -pb 0 -mc-

の引数に相当するのだという。
#リサイズなどの機能をとことんdisableするってことですな。
まずは試しにこいつを実行してみると

k2pdfopt -mode copy ほにゃらら.pdf


ひとまずデフォルトサイズのまま多少圧縮はされたけれど、カラー→グレー化はしていないようだった。

グレー化には成功。

「-c」がカラー出力らしい。ということは、「-c」を外して

 -n- -wrap- -col 1 -vb -2 -w -1 -h -1 -dpi 150 -rt 0 -t- -f2p -2 -m 0 -om 0 -pl 0 -pr 0 -pt 0 -pb 0 -mc-

とオプションで指定してしまえば、とりあえずグレーになってくれるかな?



・・・おし、とりあえずグレー化はできた。
150dpiが指定されてるせいで見た目は粗くはなったが、ファイル小さくなるし(→20MB)良い感じ。
#カラー・高精細で自炊しといたPDFを小さくしてiPadなどにぶち込むにはちょうど良いオプションかな。
更にオプションを見て行こう。

ここで-dpiを増やせばベターだろうと

 -n- -wrap- -col 1 -vb -2 -w -1 -h -1 -dpi 300 -rt 0 -t- -f2p -2 -m 0 -om 0 -pl 0 -pr 0 -pt 0 -pb 0 -mc-

にしたら、300dpiにしただけの効果はあったけれど、62MBぐらいとオリジナルとほとんど変わらなくなってしまった。



ということで-dpi 300の代わりに-dr 1.0 (解像度変換なし)を指定すると、仕上がりはほぼ変わらない割に速度は上がるうえ、ファイルサイズが24MBまで小さくなった。

現時点での結論:リサイズなし・グレー化の引数

 -n- -wrap- -col 1 -vb -2 -w -1 -h -1 -dr 1.0 -rt 0 -t- -f2p -2 -m 0 -om 0 -pl 0 -pr 0 -pt 0 -pb 0 -mc-

をしばらく使ってみるとしよう。スクリプト書いちゃうのが楽でしょう。

余談:ちなみに、どうしてもモノクロ(二値化)したい人は

上記に、グレイスケール階調オプション「-bpc」を1に設定する*1と二値化的(モノクロ)にはなってくれる上に、劇的にファイルサイズは小さくなる(7.5MB!)ようだ。*2

#しかし、実用的な意味があるのかどうか。

*1:デフォルトはKindleに合わせてか「-bpc 4」

*2:一方「-bpc 8」にするときれいなグレーになるが、44MBにもなるし、そこまでは要らないとは思った。