Mac OS X v10.3 Panther ではようやく標準で FAX 送受信機能が装備された。 これにからんで、とある席上、知人の osaru さんから、「FileMaker Pro や 4D から自動で FAX 送信したいんだけどなにかいい方法はありませんか?」という相談を受けた。
「そんなん普通にプリンタに印刷するのと同じ処理で印刷先に FAX を指定すりゃいいだけやないのん?」と軽く考えていたのだが、そうじゃないらしい。
調べてみると、Panther は FAX を少し特別扱いしているため普通にプリンタに印刷するようにはいかないようである。(アプリケーションがプリントジョブを作成するときに FAX 用のオプションを指定できるように改良されれば可能になると思うが)
すったもんだの末、一旦 PDF ファイルとしてプリントして、その PDF ファイルを lpr シェルコマンドで送っちゃえばいいんじゃないかという結論に達した。
ただ、Panther が自動で作成するファクスはキュー名が日本語になっちゃってて lpr の出力先プリンタを指定するときに面倒なのだ。 アップルにも確認したが(2004-02-22 現在)FAX キュー名を GUI から簡単に変更する方法はないようなので、次のような方法でコマンドラインから指定しやすいキュー名を持つ FAX を作成しよう。
キュー名を "autoFAX"、送信したい書類を "sample.pdf" とすると、Terminal から、
lpr -P autoFAX -o phone=送信先FAX番号 sample.pdf
のように lpr コマンドを実行するとファクスが送信される。 ちゃんとプリンタ設定ユーティリティから表示したファクスジョブのモニタにも出てくる。
あとは、「送信先FAX番号」の部分を FileMaker や 4D から変更して順次 PDF ファイルに書き出す方法でプリントした書類を送ってやればよい。 AppleScript からこのコマンドを呼び出せるようにラップして実行形式スクリプトで保存しておけばいろんなアプリケーションから利用できるかもしれない。 フォルダアクションを組み合わせると、書類をドロップすると「FAX 送信してくれるフォルダ」なんてのもできるだろう。
この方法で一応自動送信できるのだが、「ちゃんと送信できたのかできてないのかが分かりにくい」、「リトライの回数や間隔を簡単には変更できない」等の問題点がある。
そもそも、アップルの科学力をもってすればこの程度の問題が解決できないワケないので、サードパーティ製の FAX ソフトが売れなくならないようにという、心遣いなのかもしれない。
(2004-02-22)
読者の今泉さんから lp コマンドでも印刷できるのでそっちも紹介してはどうかとのメールを頂いた。次のようにする。
lp -d autoFAX -o phone=送信先FAX番号 sample.pdf
Mac OS XではどちらでもOKなのでお好きなほうでどうぞ。
(2004-11-4)
Copyright© 2000-2004 TAKAHASHI,Ryoji