[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

(DTPtechNote:1700) Re: Illustrator CS3で、複製を保存したいんですけど



えーっと、これはいろいろな問題を含んでいます。まず、Illustraotr CS3のsaveコマンドにバグがある件。
わたしは最初、長野谷さんに教えていただいたのですが、このスレッドが詳しいです。
http://lists.apple.com/archives/AppleScript-Users/2007/Nov/msg00235.html
Illustraotr CS3とIllustrator CS2が同時にインストールしてある環境ではsaveコマンドがおかしいっことらしいです。
同じ環境の人は、これを試してみてください。
tell application "Adobe Illustrator"
	set save_file to choose file name with prompt "どこに保存しますか?" default name "hoge.pdf"
	save current document in save_file as pdf with options {PDF preset:"[PDF/X-1a:2001 (日本)]"}
end tell
指定したファイル名「hoge.pdf」では保存されませんよね。
追試できた方はアドビさんに教えてあげてください。彼らはリクエストがなければ、<b>絶対に</b>バグを直しません。
http://www.adobe.com/cfusion/mmform/index.cfm?name=wishform&lang=Japanese

で、AppleScript-Usersで長野谷さんもおっしゃっていますが、現時点でこれを回避するにはJavaScript使うしかありません。
こんな感じです。
var my_doc = app.documents[0];//最前面のドキュメント

//PDFSaveOptionsを設定
var my_options = new PDFSaveOptions();
my_options.pDFPreset = "[PDF/X-1a:2001 (日本)]";

var my_save_path = new File("Macintosh HD:Users:show:Desktop:hoge.pdf");//保存先フルパス
//var my_save_path =new File( "/Users/myname/Desktop/hoge.pdf");//POSIX file nameでもよい

//PDF保存
my_doc.saveAs( my_save_path, my_options );

だがしかし。
今回のかよこさんのリクエスト「ドキュメントが閉じてしまう」ことにかわりないです。
んじゃ、Adobe PDF8に対してプリントすればいい、と思うのが人情ですよね。Acrobat8がLeopard対応でなくてうまくいきませんね。そうですか、はい。
じゃあ、PS書き出しだ、と。
PS書き出しするにはこんな感じで書くと思うのですが

tell application "Adobe Illustrator"
	set save_file to choose file name with prompt "どこに保存しますか?" default name "hoge.ps"
	
	set my_job_option to {file path:save_file}
	set my_ps_option to {PostScript:level 3}
	set my_print_option to {job settings:my_job_option, postscript settings:my_ps_option}
	print document 1 options my_print_option-- without dialog
	
end tell

やり方が悪いのか、そもそもPS書き出しでは保存ファイル指定ができないっていう「なんのためのスクリプトだよ」的おバカ仕様なのか、うまくいかないんですね。
ちなみにJavaScriptで書くと
var my_doc = app.documents[0];//最前面のドキュメント

//var my_save_path = new File("Macintosh HD:Users:show:Desktop:hoge.ps");//保存先フルパス
//var my_save_path = "/Users/myname/Desktop/hoge.ps";//保存先フルパス
var my_save_path =new File( "/Users/myname/Desktop/hoge.ps");//POSIX file nameでもよい

//PrintOptionsを設定
var my_ps_options = new PrintPostScriptOptions();
var my_job_options = new PrintJobOptions();
var my_print_options = new PrintOptions();
my_print_options.postScriptOptions = my_ps_options;
my_print_options.jobOptions = my_job_options;
my_job_options.file = my_save_path;

//PSファイル保存
my_doc.print( my_print_options );


はじめてのことばっかりだったので、今日ずっとこんなことしてました(w
Illustratorのスクリプティングって、ちょっと緩いっていうか、おかしいと思います。
結果的になんの解決にもなっていなくてすいません。