Sunday, December 14, 2008

PDFPack.app

名刺をデザインしてA4の用紙に複数面割り付けて印刷しようと思ったけど、どうすればいいのかわからない。

DTPの知識(と高価なソフトウェア?)があれば簡単なことだろうとは思うけれど、適切なフリーソフトも見つからない。Mac OS X プリンタダイアログ標準のレイアウト機能の複数ページを1枚に割り付ける方法ではあらかじめ同じデザインのページのコピーを作成してPDFなどにまとめる必要があるし、そもそも名刺などの場合はサイズが重要なので1ページ分の出力サイズを指定できないので使えない。

やりたいことは実にシンプルで、名刺やカードなど小さいサイズで同じデザインのものを、出力する用紙(A4など)1枚に対して複数印刷したいだけなので、RubyCocoa のリハビリを兼ねて、その目的を達成するためだけのフィルターのようなツール PDFPack.app を作ってみました。

単体のアプリケーションとしても動きますが、インストールすると PDF Service (プリントダイアログの左下の "PDF" ボタンで出てくるメニュー)として登録されるので、以下のような使い方ができます。

使用例として名刺を印刷する場合


1. カードをデザインするツール (僕は OminiGraffle を使いました)のページ設定(新しいアプリケーションではプリントダイアログに統合されているようです)の用紙サイズのカスタムサイズを管理で 5.5 x 9.1cmの用紙を追加して選択

2. そのサイズにあわせて名刺をデザインしてプリントダイアログ(Cmd+P)を開いて、PDFメニューから "PDFPack" を選択


3. PDFPack.app が起動するので必要ならマージンを調整して印刷

ちなみに、用紙はエーワンマルチカード#51002、プリンタはHP Deskjet 5551を利用。このA4サイズの用紙では 5.5x9.1cm のサイズを10面印刷するときに左右の余白は1.4cm、上下の余白が 1.1cm になるのですが、PDFPack のバグかプリンタの仕様か、bottom margin を 0.9cm と 0.3mm 小さく設定しないとうまい具合に印刷できませんでした。

蛇足ですが、似たようなツールに Hipster PDA を印刷する PagePacker というものがあります。PDFPack も1枚の紙に異なる種類のカードを印刷できると便利かもしれません。