読者です 読者をやめる 読者になる 読者になる

キャプション付き図版や表組みの余白をImageMagickでトリミングする

ImageMagick InDesign eBook

 InDesignに配置された図版や表組みを電子書籍用に落とし込む時、いくつかの課題があります。

  • 印刷用データとしてCMYKカラースペースがベースになっている
  • Illustratorの図版ドキュメントに、システムにないフォントが含まれている可能性
  • キャプションを分離させたくない

 電書魂さんの下記記事にもコメントさせていただいたんですが...
「フォントを含む画像」の変換テスト | 電書魂
InDesignはフォントラスタライザを含んでいるので、ドキュメントにフォントが含まれていれば(システムにフォントがなくても)、「表示が質」-「高品質表示」で画面上のフォントが正しく表示されます。
f:id:seuzo:20120609130220p:image
f:id:seuzo:20120609130505p:image

作戦A)スクリーンキャプチャで撮る

 (品質上)可能性の話をすればキリがありませんが、高品質表示でスクリーンキャプチャを取るのは、悪い方法ではないと考えます。少なくとも刷本からスキャニングするよりきれいでしょう*1。CMYKベース→RGBは手間ひまをかけて調整すれば、若干マシにはなるでしょうが原理的にオリジナルカラーに戻るわけではありません。今どき市井の人がデスクトップ上でどれくらいの解像度にしているのかわかりませんが、ウチでは1920×1200pxです。Retinaディスプレイが2048×1536なので、まずまずな大きさを得られるんじゃないでしょうか。
f:id:seuzo:20120609132541j:image
 こんな感じで画面全体に広げて、スクリーンキャプチャを撮りました。*2撮った画像がこちらです。
f:id:seuzo:20120609133230p:image

作戦B)JPEG書出し

 InDesignのJPEG書出しを使えば、選択したオブジェクトだけをJPEG書出しできます。しかも解像度指定もできます。やり方としてはこっちの方が断然ラクですね。
f:id:seuzo:20120609173555p:image

残った余白をどうするか?

 でだ、スクリーンキャプチャを撮る時にどうしても余白が入ってしまいます。これはInDesignドキュメントからJPEG書出しした時も、オブジェクトサイズで書き出されるので余白が残ります。Photoshopで行うとすると、ピクセルが見えるくらい大きくしないとうまくトリミングできません。
 そこでImageMagickを使って、余白をトリミングしましょう。ImageMagickXcodeでもデフォルトインストールではありません。Homebrewなどからインストールするとラクです。
 ImageMagickをインストールしたら、ターミナルからconvertコマンドが実行できるようになります。

$ convert -trim original.png new.png

f:id:seuzo:20120609141319p:image
 余白を取り除くためのトリミングツールは他にもたくさんあるかと思います。今回、ImageMagickを試してみたのは、CLTなので他のスクリプトなどにも組み込みやすいからです。


*1:いうまでもありませんが、解像度が高いことと画質がよいことは必ずしも一致しません

*2:ここで使用しているのはSnapz Pro X http://www.ambrosiasw.com/utilities/snapzprox です。もちろん、これくらい簡単なスクリーンキャプチャを撮るだけなら、command + shift + 4でもかまいません。