きっと、役には立たない情報…。
某社の紙面製作環境はいまだにMacOS9が利用されている。取引のある印刷会社がIllustrator8までしか対応してなかったり、外注先と環境をあわせたり、過去のデータの改版等が結構あり、フォント環境を以降しきれずにいたりということが理由にあげられるが、要はそんなに予算が…。
そんな環境の中、未だにQuarkExpress3.3Jが使われていたりする。今回は何十ページもあるQuarkのページを1ページずつEPS化していく必要がでてきたので、それを自動化するのにAppleScriptを利用した。Quarkのバージョン上げたらまるごととPDF化できて楽なんじゃないだろうか? などと思いながらもやってみる。以前にも配置されている画像を収集しなおし、リネームして新規保存するみたいなスクリプトは作ってみたりしていたので、なんとなーくわかる程度のレベルだ。
ちなみにEPS保存するソースはまんまのものがあった。
んで↑にフォルダ作成とかリネームとかいろいろ付け加えて作ってみて終わりと思っていたのだけど、問題発生。なんでだか分からないが、EPS保存したB5サイズのものが1.2倍くらいの大きさになっている。QuarkのEPS保存には「比率」という項目があり、 これをスクリプトで設定できたらそれでお終いのはず。だが、そのプロパティが見つからない。AppleScriptのQuarkExpressの用語集を開いてもsaveクラスにはそんなプロパティはない。
ググってみると
http://www.oomori.com/applescript/00000081/00002939.html
上記ページにscaleというプロパティを発見するが、どうも4.10以降に新しく追加されたプロパティのようだ。んじゃ3.3の時はどうすんのだー?と試行錯誤する。用紙サイズ、プリントの設定…。
で、たどりついたのが画面表示サイズ。どうやら画面上の表示サイズがEPS保存時のサイズに影響するようだ。画面表示サイズを実寸サイズ表示にしてスクリプトを動かすと、正しいサイズのEPSを作成してくれる。後はスクリプト上で画面表示を実寸サイズにすればいいだけだ。ということで画面表示サイズを変更できるクラスとプロパティを探す。
http://www.oomori.com/applescript/00000081/00002969.html
default documentクラスに「view sale」というプロパティを発見。数値の指定の仕方がよくわからなかったが、100%ということで以下のように設定してOKのようだ。
(※正直AppleScriptよくわからん)
tell application “QuarkXPress”
–表示倍率を実寸表示にする
tell document 1
set view scale to 100
end tell
–ページ数をカウント
count every page of document 1
set numOfPage to result
–各ページをEPS保存する
repeat with i from 1 to numOfPage
set newFile to manName & “_” & (i as text) & “.eps”
save page i of document 1 in newFolderPath & newFile EPS format Mac Color
end repeat
end tell
–後略
ちなみにFinderの情報ウィンドウというのだろうか?「アプリケーションXXXが操作を必要としています。」みたいな黄色バックのメッセージを表示するウィンドウの表示を抑制する方法知ってるエロい人いたら教えてください。
Popularity: 6% [?]





4月 14th, 2008 at 2:02 PM
正直、スクリプト言語はいろいろ触りましたが、AppleScriptだけはどーしても理解できませんでした…
しかし、画面上の表示サイズに影響するって、ヒドス。
「アプリケーションXXXが操作を必要としています。」
ということは、何かエラーがおきてる可能性があるなじゃないでしょうか。
エラーが起こってそうな場所に、
try
(ここにやりたい処理を書く)
on error
(ここにエラーが起きたときの処理を書く、必要なければ書かなくても良い)
end try
って感じで入れてみたらどうでしょう。
4月 14th, 2008 at 4:47 PM
AppleScriptのくせにって言うと語弊があると思うけど、tryとか使えるのかー。なかなかやるなー。
エラーではないんだよね。確認メッセージっぽいんだけど、ほっといても処理を続けてくれてる。なので、いっそのこと出ないようにしたいなーと。