アプリ開発者御用達の画像処理ツール「ImageMagick」を普段使いに:ITプロ必携の超便利システム管理ツール集(14)
「スキャンした画像をPDFで送って」と頼まれた場合、PDF形式のファイル出力機能を持つコピー複合機があれば簡単ですが、PDF出力に対応していないスキャナーやデジカメでは、結構面倒な作業が発生します。そんなとき「ImageMagick」があれば、魔法のように面倒な仕事を片付けられます。
今回紹介するツール
[ツール名]ImageMagick
[対象]Windows、UNIX、Linux、Mac OS、iOS
[提供元]ImageMagick Studio LLC
[ダウンロード先][URL]http://www.imagemagick.org/[英語]
アプリ開発者向けの高機能画像変換・編集ツール
「ImageMagick」は、ビットマップ画像(.bmp)を作成、編集、変換するためのオープンソース(Apache 2.0ライセンス)のツールセットです。
ImageMagickは、BMPやGIF、PNG、JPEG、TIFFといった一般的な画像形式はもちろん、PostScript、EPS、SVGといった特殊用途向けの画像形式や、PDFなどのドキュメント形式にも対応しており、画像形式の相互変換やサイズ変更、カラー調整、合成、テキスト/図形の描画、サムネイル作成など、本格的な画像処理機能を提供します。
これらの機能は「convert」「identify」「composite」などのコマンドラインツールから利用できる他、C、C++、COM+(Windows)、Java、.NET(Windows)、Perl、PHP、Pythonなど、さまざまなプログラミング言語から呼び出すことができます(画面1、画面2)。
ImageMagickはクロスプラットフォーム対応であり、Windows、UNIX、Linux、Mac OS X、iOS向けのバイナリが用意されているので、プラットフォームを問わず、簡単に導入することができます。
ImageMagickのダウンロードページからは、Linux向けにはRed HatおよびCentOS向けのRPMパッケージが用意されていますが、利用中のLinuxディストリビューションのリポジトリから、標準のソフトウェア管理ツールを利用して簡単にインストールできるはずです。
なお、Windowsの場合は「C:\Program Files\ImageMagick-<バージョン>」フォルダーにImageMagickのバイナリがインストールされ、このパスがシステムのPATH変数の先頭に追加されます。
ImageMagickの画像変換用の「convert.exe」は、Windowsのボリューム形式変換ツールである「%Windir%\System32\convert.exe」と同名であることに注意してください。「%Windir%\System32」以外の場所から実行するconvertは、ImageMagickのconvert.exeになります。
筆者はスキャン結果のPDF化に活用
ImageMagickと筆者との出会いは、10年ほど前、とある企業でPHPベースのちょっとしたWebアプリケーションを開発していたときです。アプリ利用者側がアップロードするさまざまな形式の画像ファイルの品質をチェックし、アップロード後の確認用サムネイルを作成したり、こちらの都合のよいファイル形式で保存したりするのに利用しました。
しかし今回は、ImageMagickを利用したプログラミングの説明はしません。実は、つい先日までImageMagickのことはすっかり忘れていたからです。
ImageMagickのことを思い出したのは、先日、ある文書に押印して、PDF形式で送付するように依頼されたからでした。
オフィスのコピー複合機なら、スキャンした結果をPDF形式で共有フォルダーに出力したり、メールで送信したりする機能を持つものがあります。筆者の手元にはコピー&スキャン機能を備えたプリンターならありますが、Windows標準の「スキャン機能」(Windows FAXとスキャン)は一般的な画像形式(BMP、JPEG、GIF、TIFF、またはPNG)にしか対応していません。
Wordドキュメントにスキャンした画像を貼り付け、PDF形式でエクスポートするというのも一つの方法ですが、それでは時間がかかって面倒です。何か簡単にできる方法はないものかと考えていたとき、思い出したのがImageMagickです。
ImageMagickはPDF形式に対応しています。例えば、スキャン結果をJPEG形式で保存したなら、次のコマンドライン1行で、ほんの一瞬でPDF形式に変換することが可能です。
convert ファイル名.jpeg ファイル名.pdf
複数ページのPDF作成も簡単です。例えば、「bookcover01.jpeg」と「bookcover02.jpeg」という二つのJPEG画像がある場合、次のコマンドライン1行で、2ページのPDFドキュメントを作成できます(画面3)。
convert bookcover*.jpeg bookcover.pdf
複数ファイルの指定にワイルドカードが使えない場合は、「-adjoin」オプションを付けて追加する画像を指定してください。例えば、次の例はファイル形式の異なる三つの画像ファイル「page01.tif」「page02.jpg」「page03.bmp」から、3ページのPDFファイル「page01-03.pdf」を作成するコマンドになります(画面4)。
convert page01.tif -adjoin page02.jpg -adjoin page03.bmp page01-03.pdf
画像サイズにも依存しますが、一般的な画像を単体または数枚変換するだけなら、ほんの一瞬で完了します。Wordドキュメントに貼り付けて、PDF形式でエクスポートして……なんてことをしていたのがばからしくなるほどです。
ちなみに筆者は、エクスプローラーの「送る」メニュー(「Shell:Sendto」にショートカットを登録)にバッチファイルを登録して、右クリックメニューから素早くPDFに変換できるようにしています(画面5)。これ、すごく便利ですよ。ぜひお試しください。
- 最強のトラブルシューティングツール、それはWindowsの「インストールメディア」
- MBSAでWindowsのセキュリティチェックと構成の見直しを
- いつでも、どこでも、どのデバイスからでも同じWindowsデスクトップにアクセス
- アプリ開発者御用達の画像処理ツール「ImageMagick」を普段使いに
- バッチやスクリプトのコピペをもっと簡単にするには
- メール通知テストに便利な“ダミー”のSMTPサーバー「smtp4dev」
- WindowsでもUNIX/Linuxのようにログをリアルタイムで見たいなら
- RDP、VNC、SSH、Web管理……リモートコンソールをまとめると「Terminals」に
- マイクロソフト純正「ネットワークモニター」はこんなに進化しました
- 使い方をマスターすれば、怖いものなし〜最強のネットワークツール「Wireshark」
- AndroidがWindowsタブレットで目覚める!〜LinuxLive USB Creatorって何者?
- 新しい仲間「Sysmon」はトラブルシューティングの必携ツールになりそうな予感
- オンラインで駆除できないマルウェアをオフラインでやっつける
- 「NETSTAT」をGUIにすると、見えないものが見えてくるかも……
- 背景に情報を表示するだけが能じゃない!「BgInfo」でインベントリ収集
- 「Autoruns」の膨大な情報から本当に怪しいヤツをあぶりだすテク
- 進化を続ける“高機能タスクマネージャー”「Process Explorer」を使いこなせ
筆者紹介
山市 良(やまいち りょう)
岩手県花巻市在住。Microsoft MVP:Hyper-V(Oct 2008 - Sep 2014)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手がける。個人ブログは『山市良のえぬなんとかわーるど』。
Copyright © ITmedia, Inc. All Rights Reserved.