【WIN-AI-CS2】イラレCS2でのスクリプト保存時の問題

このQ&Aのポイント
  • イラストレーターCS2でスクリプトを利用してAI(EPS)ファイルをJPEGに変換する方法についての問題です。保存時に表示される警告ダイアログが処理を中断してしまうため、一括変換ができない状態です。
  • フォルダ内にあるAI(EPS)ファイルを一括でJPEGに変換するスクリプトを組んでいますが、JPEG保存時に表示されるダイアログが問題となっています。
  • スクリプトを走らせた際に、ラテン文字以外の文字を含むファイルでは保存ダイアログが表示され、処理が中断されてしまいます。このダイアログを回避して一括変換を行う方法を教えてください。
回答を見る
  • ベストアンサー

【WIN-AI-CS2】スクリプト:保存時の警告

イラレCS2で、スクリプトを利用してAI(EPS)ファイルをJPEGに変換します。 イラレ上に展開しているファイルではなく、フォルダ内にあるファイルを展開してJPEGに保存するスクリプトを組みました。 基本の動作は問題なく行われるのですが、1点だけ問題があります。 それは、JPEGで保存する際に 「保存されるファイルの中にラテン文字以外の~」 というダイアログがファイルごとに出て、処理が中断するのです。 出来れば、スクリプトを走らせたら、あとは放置で全ファイルを変換してしまいたいのです。 なお、ファイル名に関しては、WEBに使うものではないので日本語も入っています。 (作業仕様上、回避することは出来ません) 最悪、英名に変換して処理後に日本名に戻すようなBATファイルでも組めばいいのかもしれませんが、効率化の意味がなくなります。 JPEG保存時に、上記のダイアログを出ないようにして、あるいは強制的に「OK」の処理を行って、スクリプトの作業をとめない方法はありますでしょうか? よろしくおねがいします。 環境:WindowsXP SP2/Adobe Illustrator CS2 スクリプト: openFolder = Folder.selectDialog("SelectFolder with AI&EPS"); saveFolder = Folder.selectDialog("SelectFolder to save JPEG"); //AI fileList in "openFolder" fileListAi = openFolder.getFiles("*.ai"); //EPS fileList in "openFolder" fileListEps = openFolder.getFiles("*.eps"); //JPEG Set savingOptions jpegOpt = new ExportOptionsJPEG(); jpegOpt.qualitySetting = 100; //Proccess START if (fileListAi.length != 0){ for (i=0; i<fileListAi.length; i++){ fileObj = new File(fileListAi[i].fsName); open(fileObj); tmpFile = (fileListAi[i].name).split(".ai")[0]; saveJPEGFile = new File(saveFolder + "/" + tmpFile + ".jpg"); activeDocument.exportFile(saveJPEGFile, ExportType.JPEG, jpegOpt); activeDocument.close(SaveOptions.DONOTSAVECHANGES); } } if (fileListEps.length != 0){ for (i=0; i<fileListEps.length; i++){ fileObj = new File(fileListEps[i].fsName); open(fileObj); tmpFile = (fileListEps[i].name).split(".ai")[0]; saveJPEGFile = new File(saveFolder + "/" + tmpFile + ".jpg"); activeDocument.exportFile(saveJPEGFile, ExportType.JPEG, jpegOpt); activeDocument.close(SaveOptions.DONOTSAVECHANGES); } }

質問者が選んだベストアンサー

  • ベストアンサー
  • grazie
  • ベストアンサー率56% (200/355)
回答No.1

Illustratorだと、UserInteractionLevelというのを設定すればいいはずなのですが、 userInteractionLevel=UserInteractionLevel.DONTDISPLAYALERTS; を入れて実験してみると、やっぱり "ラテンなんたら..." が出てしまいますね...。 アプリ自体にもこの設定の解除方法は無いし、あとはCS3に期待ですかね...。 ちなみに、Photoshopだと、 app.displayDialogs = DialogModes.NO; をいれれば、Jpeg保存時の例の警告は出ないんですよ。 CS3では全体の統一が図られるということで、このへんも改善されるかもしれません。

mezashi2000
質問者

お礼

なるほど、イラレ特有になっちゃうんですね。 ありがとうございます。

関連するQ&A

  • IllustratorスクリプトでのEPS保存について

    IllustratorCS2で、EPS保存時にオーバープリント設定をすべて破棄したいのですが、 件数が多い為にスクリプトで実行しようと考えています。 そこでためしに以下のようなシンプルなスクリプトを組んでみたのですが オーバープリントが破棄されません。 var SaveOptions = new EPSSaveOptions; SaveOptions.overprint = PDFOverprint.DISCARDPDFOVERPRINT; var FileObj = new File(app.activeDocument.path + '/test.eps'); app.activeDocument.saveAs(FileObj, SaveOptions); スクリプトではなく、手作業で別名保存からオーバープリントを 破棄で保存すればちゃんと破棄されるのですが… Windows XPで開発しています。 ちなみにMacOSXのIllustratorCS3でも試してみましたが駄目でした。 何かほかに設定を行わなければいけないのでしょうか?

  • photoshop 保存のjavaスクリプト

    photoshopのスクリプトで、下記のようなことができるでしょうか? Aというフォルダに1.jpg、2.jpgのふたつのjpgデータがあります。 これをphotoshopで開いて、Aフォルダ内にpsd形式で保存するというものです。 スクリプト後、Aフォルダの中に、1.jpg 2.jpg 1.psd 2.psd という 4つのデータが入ります。…というものです。 開いているjpgデータが4つあれば、4つ全てをpsdで保存したいです。 別のフォルダでなく、もとのデータが入っているフォルダに、 名前は、そのままの名前で(1.jpg→1.psd)保存したいです。 そのあと自動で閉じてくれたら最高です。 PSD形式で保存・・・や fileObj = new File("~/test.psd"); activeDocument.saveAs(fileObj, psdOpt, true, Extension.LOWERCASE); 全てのドキュメントを保存して閉じる・・・など while (documents.length > 0) { activeDocument.close(SaveOptions.SAVECHANGES); } 見てみましたが、うまく動かせません。 保存しますか、はい・いいえ、を毎回enterしないといけないのです。 どなたかご存知の方がいらっしゃいましたら、どうか教えてください。 もし、希望のスクリプトでなくても、その一部でも可能であれば 教えていただきたいです。 宜しくお願いいたします。

  • Win版IllustratorCS3でJavascriptを使ってファイルを開くスクリプトを作成できずに困っています。

    Windows版IllustratorCS3でJavascriptを使ってファイルを開くスクリプトを作成しています。Web上で以下のようなソースを見つけたので参考にしていますが、ファイルを開くことができず困っています。 web上で以下のサイトを参考にして、IllustratorCS(Win)でJavascriptを使ってepsファイルを開くスクリプトを作成しています。 http://www.openspc2.org/book/IllustratorCS3/easy/file/001/index.htm... 以下のように作成しましたが、sample.jsという名前で保存して、Illustratorの「ファイル」-「スクリプト」から選択しても画面上にファイルが表示されません。どなたか原因をお分かりの方がいらっしゃいましたら教えていただけないでしょうか。 filename = "C:/tmp/test.eps"; fileObj = new File(filename); flag = fileObj.open("r"); if (flag == true) { alert("ファイルを開きました"); fileObj.close(); }else{ alert("ファイルが開けませんでした"); }

  • イラレCS2のスクリプトでJPEG変換

    フォルダ内のAIファイル、EPSファイルをJPEG画像として一括変換したいと思っています。 WEBサイトを回ってスクリプトで処理するのが一番早いようだと思ったのですが、うまく動作しません。 どなたかわかる方おられれば、スクリプトソースを教授いただけますでしょうか? そのソースをテキストに貼り付けて利用させたもらおうかと思います。 実際に処理したい作業は以下の手順になります。   1.ファイルのあるフォルダ(開くフォルダ)を指定する←汎用性が必要   2.保存先のフォルダを指定する←汎用性が必要   3.1のフォルダ内のAIファイルをJPEG変換して2のフォルダに保存する(同一ファイル名は上書きor可能であればダイアログで聞く)   4.1のフォルダ内のEPSファイルをJPEG変換して2のフォルダに保存する(同一ファイル名は上書きor可能であればダイアログで聞く) スクリプトでフォルダの指定とか、出来たりするのかわからないのですがプリセットのスクリプトを開くと保存先を確認するダイアログとか出てたので、出来るのではないかなぁ?と・・・。 あと、JPEGの保存設定については多分スクリプト内で指定しないと難しいと思うので、各項目が何を示しているのか明記いただけると助かります。 利用環境  WindowsXP SP2(日本語)  Adobe Illustrator CS2(日本語) よろしくお願いします。

  • フォトショップエレメンツ8で、aiファイル保存?

    初心者ですみませんが、質問させて下さい。 フォトショップエレメンツ8で描いた絵を、aiファイルに変換するにはどうしたら良いでしょうか? 別名保存のフォーマットに、.jpegや.tifなどはありますが、.aiの項目がありません…。 エレメンツ8では変換は無理なのでしょうか? とても困っています。 ちなみにパソコンはMac OS 10.6です。 よろしくお願いいたします。

    • ベストアンサー
    • Mac
  • イラストレーターの保存ファイル種類について

    イラストレーターで作成したファイルをJPEGで保存することは出来るのでしょうか? 試してみたのですが、保存ファイルの種類が .AI .PDF .EPS .AIT .SVG .SVGZ という物しかありませんでした。 JPEGやGIFファイルで保存するのはどうしたらよいのでしょうか?

  • JAVAの学習で行き詰ってしまいました。

    現在JAVAの学習を行っています。 課題で行き詰ったので質問をさせていただきます。 私が作成しようとしているプログラムは JAVA言語を使って指定したディレクトリ内に存在する ファイルやディレクトリを全てCSVファイルに出力するといったプログラムです import java.io.*; //指定したディレクトリ内に存在するファイルを表示するプログラム public class fileIn { public static void main(String args[]) throws IOException { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader kbd = new BufferedReader(isr); String path; path = kbd.readLine(); File cdirectory = new File(path); //ディレクトリかファイルはを判定し、 //ディレクトリの場合、そのディレクトリの中身を確認 //ファイルの場合、ファイル名を表示 File filelist[] = cdirectory.listFiles(); for(int i =0; i<filelist.length;i++) { if(filelist[i].isDirectory()){ System.out.println("[ディレクトリ]" + filelist[i].getName()); }else if(filelist[i].isFile()){ System.out.println("[ファイル]" + filelist[i].getName()); }else{ System.out.println("不明ファイル" + filelist[i].getName()); } System.out.println(filelist[i]); } } } 現在ここまでは出来ているのですがif文でディレクトリかファイルか判定する所まで 出来上がりましたが、ディレクトリだった場合、そのディレクトリの中を見ることが 出来ません。どのようにしたら良いでしょう。CSVファイルに出力結果を書き込む 方法もわかりません。教えてください。

    • ベストアンサー
    • Java
  • コンストラクタにパスを記述する方法を教えて下さい

    以下に示したプログラムのコンストラクタの引数の部分(File objFile)にディレクトリパスである C:\Users\NEC-PCuser\ArtNameを記述したいのですがエラーになってしまいます。どのように記述すれば引数にディレクトリパスを指定することができるかご教授お願いいたします。 以下がプログラムになります。 /** * ID3Tag取得プログラム:FileListクラス * 指定ディレクトリ以下のファイル一覧を取得するクラス */ import java.io.File; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Iterator; public class FileList { private ArrayList objMp3FileList = null; private ArrayList objDirList = null; private File objFile_; public FileList(File objFile) { /*public FileList("C:\\Users\\NEC-PCuser\\ArtName") */ objFile_ = objFile; /*↑↑のように記述するとエラーになります。↑↑*/ } public long getFileInfo() throws UnsupportedEncodingException { if(objFile_ == null) { System.out.print("Argment is null.\n"); return -1; // error } String strCurrentPath = objFile_.toString(); if(!objFile_.isDirectory()) { System.out.print("This Path is not Directry. :" + strCurrentPath + "\n"); return -1; } objMp3FileList = new ArrayList(); objDirList = new ArrayList(); for(int i = 0; objFile_.listFiles().length > i; i++) { if(objFile_.listFiles()[i].isDirectory()) { FileList objFileList = new FileList(objFile_.listFiles()[i]); objFileList.getFileInfo(); objDirList.add(objFileList); } else if(objFile_.listFiles()[i].isFile()) { MP3File objMP3File = new MP3File(objFile_.listFiles()[i]); objMP3File.getMP3Info(); objMp3FileList.add(objMP3File); } } return 0; } public Iterator getMP3FileIte() { return objMp3FileList.iterator(); } public Iterator getDirIte() { return objDirList.iterator(); } public String getDir() { return objFile_.getPath(); } }

    • ベストアンサー
    • Java
  • mac→winでaiの配置画像が表示されない

    mac(別会社)、win(自分)共にイラレCS3を使用しています。 ※今回は印刷所への納品データとしての問題ではありません。 もともとはパンフレット用に作成されたデータですが、WEB用に使用する目的でいます。 自分で調べてみたところ、epsファイルをTIFF8bitプレビューで保存していないと、mac→winでは表示されないことまではわかりました。 mac側でTIFF8bitで保存し直せば両間でのプレビュー問題は一応解決されるようです。 その先ですが、 すでにこの受け取ったai、epsを、画像が表示された(プレビューできる)状態にwin(自分)で変更することは可能でしょうか? フォトショでラスタライズしてしまえばモニターで見ること、印刷もすることは可能ですが、希望としては「テキストを拾える状態」で「画像とテキストがプレビュー」できている状態のaiにしたいです。 ※aiでepsを配置してます。 テキストと画像との関係がわからないと作業できない為、 現在はフォトショで開いてラスタライズされたものを出力して、画像はepsから、テキストはaiから拾っています。 おわかりになる方がいらしたら、ご回答お願いいたします。 また、PDFに書き出してテキストを認識させる方法はナシでお願いします。

  • JavaScriptが分からなくて困っています…

    私は学校でJSを使ってIllustratorを動かしてみようということでまず読み解くところから始まりました。 しかし、今回のこのコードを読み解くことが難しく教えてはいただけないでしょうか…。 今現在も解読をしているのですがどうしてもわかりません… PPTにまとめて説明発表しなくてはなりません。 記入例としては var saveFolderObj = Folder.selectDialog("PDFファイルを保存するフォルダを選択してください");// セレクトダイアログを表示してPDFファイルを保存するフォルダを選択する。 といったようにどういう動作の支持をしているのかを書かなければなりません。 お願いします助けてください… // タブ区切りテキストからデータを読み込み,テキストを入れ替えPDFファイルとして保存する (function(){ var TAB = String.fromCharCode(9);// タブコード var saveFolderObj = Folder.selectDialog("PDFファイルを保存するフォルダを選択してください"); if (!saveFolderObj) return;// キャンセルされたら処理しない var fileObj = File.openDialog("ひな形ファイルを選択してください","*", false); if (!fileObj) return;// キャンセルされたら処理しない var datafileObj = File.openDialog("タブ区切りテキストファイルを選択してください", "*", false); if (!datafileObj) return;// キャンセルされたら処理しない if (!datafileObj.open("r")){ alert("ファイルが開けません"); } var tag = datafileObj.readln().split(TAB); while(!datafileObj.eof){ app.open(fileObj); var txtObj = app.activeDocument.textFrames; var data = datafileObj.readln().split(TAB);// 一行=1人分のデータを読み込む for(var i=0; i<txtObj.length ;i++){// 全てのテキストフレームに対して処理 for(var j=0; j<tag.length; j++){// ##タグの数だけ繰り返す if (txtObj[i].contents == tag[j]){// 完全一致 txtObj[i].contents = data[j];// テキスト入れ替え } } } savePDF(saveFolderObj.fullName+"/"+data[0]+".pdf");// 名前で保存 app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);// 保存せず閉じる } })(); // PDFファイルとして保存 function savePDF(savefile){ savefile = new File(savefile); var opt = new PDFSaveOptions(); //PDFSaveOptionsを定義 var flatOpts = new PrintFlattenerOptions(); //flattenerOptionsを別指定 flatOpts.overprint = PDFOverprint.PRESERVEPDFOVERPRINT; //オーバープリント flatOpts.gradientResolution = 300.0; //グラデーション解像度 flatOpts.rasterizationResolution = 300.0; //ラスタライズ解像度 flatOpts.clipComplexRegions = true; //複雑な領域をクリップ flatOpts.convertTextToOutlines = true; //テキストをアウトラインに flatOpts.flatteningBalance = 100.0; //100でベクトル0でラスタ opt.compatibility = PDFCompatibility.ACROBAT8; //バージョン指定 opt.bleedLink = true; //ドキュメントの裁ち落とし opt.ColorProfileID = ColorProfile.INCLUDEALLPROFILE; //プロファイルの埋め込み activeDocument.saveAs(savefile, opt); //ファイルを保存 }