- ベストアンサー
Mac OS10.4 AppleScriptで印刷
Mac OS10.4.11 AppleScriptを使って印刷したいです。 ある特定のフォルダにPDFデータが入ったとき 自動的にプリントアウトしてくれるようにするにはどのようにAppleScriptを組み立てれば良いでしょうか。。 所有しているパソコンはMac OS9.1とOS10.4.11です。 OS9.1に非対応のプリンタのため 9.1で作ったデータを10.4.11に書き出して印刷したいと思っています。 用紙はいつもA3横・データはPDFです。 自分で組み立てるといつも失敗してしまうので・・ どなたかお詳しい方に教えて頂きたいです。。m(_ _)m
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
http://oshiete1.nifty.com/qa7141736.html の関連ということで回答します。 10.4のAppleScriptでどこまで機能があるか今となってはわかりませんので、多分これくらいは動くであろうという想像で作成しました。 10.6ではAutomatorなどを使えばもっと簡単にいけそうですが、 最初はPreviewを使えば簡単にと思っていましたが、Previewは素の状態ではAppleScriptに対応していないのですねえ。 printは受け付けてくれますが、書類のcloseはどうも駄目なようで、なんとか使えそうな気もしますが、 今回は印刷は直接プリンタのアプリケーションを使っています。 tell application "brother xxxxx"がそれで、プリンタを登録したときに自動で作成されるようです。 AppleScriptエディタで用語説明を開くと、アプリケーションとしてそれらしい名称(プリンタの型番とか、ネットワークプリンタではIPアドレスでした)が出てきますので環境に合わせて書き換えてください(存在しない適当な名前を入れれば聞いてきますのでその時選択してもよい)、これで印刷できました。 このスクリプトはDesktopのprint_folderというフォルダを監視し、終わればゴミ箱にファイルを捨てています。 アプリケーションとして保存すれば起動してもそんなに邪魔にはならないと思います。 強引にループを回していますので、全然スマートじゃありませんが、そのあたりはご容赦を。 repeat tell application "Finder" set printFolder to folder "print_folder" of desktop set printFiles to files in printFolder if printFiles is not {} then repeat with printFile in printFiles tell application "brother xxxxx" print file (printFile as string) end tell move printFile to trash end repeat end if end tell delay 2 end repeat
その他の回答 (1)
- ki073
- ベストアンサー率77% (491/634)
プレビューが開きましたか??? プレビューが開かないようにわざわざ tell application "brother xxxxx" print file (printFile as string) end tell としたのですが、10.4ではだめなのかな。 プレビューが開くと、このままでは開いたままで、どんどん開いたウインドウが増えていくことになりませんか。 上の文を tell application "Preview" open printFile print quit end とすると、プレビューは開きますが素直なスクリプトになります。 用紙の件ですが、サイズはPDFファイルが覚えているはずですので,A3でPDFファイルを作ればうまくいくはずです。 それとゴミ箱ではないところでしたら to folder "Macintosh HD:Users:xxx:xxx:" のようにします。Mac OS9の時には/ではなくて、:(コロン)で区切っていました。その名残です。 AppleScriptエディタで tell application "Finder" to get desktop as string とすると、書き方がわかると思います。
お礼
お返事遅くなってしまってスミマセン。。 いろいろ試行錯誤してみて こういうふうになりました。。 repeat tell application "Finder" set printFolder to folder "print_folder" of desktop set printFiles to files in printFolder if printFiles is not {} then repeat with printFile in printFiles tell application "Preview" open printFile print file (printFile as string) end tell move printFile to desktop end repeat end if end tell delay 2 end repeat move printFile to~のところがどうにもうまくフォルダの中に入ってくれないため デスクトップに置くことにしました。。 Automater にも挑戦してみたのですが 全くうまくいかないので断念しました・・・>< まだプリンターを購入していないので いざ購入したときにまた疑問があるかもしれません そのときにはまたいろいろ教えて下さいませ。。^^* 有り難うございました
補足
こちらにも来て下さったのですね。。感激です。。^^* あの・・あの・・・申し上げづらいのですが Applescript = Automatorではないのですね・・ 同じ事なのかと思っていました。。すみません すみません・・・orz Automaterなら少し使ったことあります。。 Applescriptは使ったことがないのですが 教えて下さった通りに挑戦してみました^^* Automaterとソックリなんですね まだプリンタを購入していないので brotherのところを会社のプリンタのIPアドレスにしてみました。。 するとプレビューでうまく開いてくれて 無事プリントアウトできました!!^▽^* そこでまたいくつか質問させてくださいませ。。m(_ _)m ・ファイル名が長い?とか日本語名だとプレビューにて認識してくれない (たとえばmusasino.pdfなら大丈夫なのですが武蔵野.pdfだとダメです。。) ・A3横にすることは可能でしょうか。。 (10.4ではA4サイズが多いため 出来ればデフォルトでA3の設定にしたくはないのですが。。><) ・ゴミ箱ではなく 保存のため他のフォルダに移したい場合はどうすればいいのでしょうか (to trash を to folder "****" にしてもできないのですが。。 ) ki073さんばかりに頼り切ってすみません・・・><