「スキャンした画像を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になります。
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)。これ、すごく便利ですよ。ぜひお試しください。
山市 良(やまいち りょう)
岩手県花巻市在住。Microsoft MVP:Hyper-V(Oct 2008 - Sep 2014)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。マイクロソフト製品、テクノロジを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手がける。個人ブログは『山市良のえぬなんとかわーるど』。
Copyright © ITmedia, Inc. All Rights Reserved.