InDesignでJavaScript その14。
テキストファイルに記述されているフルパス(画像のような感じ)を1行ずつ読み込んで開いてEPS保存のプレファレンスを設定してEPS保存するJavaScript。
InDesignの仕様で画像の使用状況を無視できないため、画像が変更なり移動なりのステータスになっていると、エラーログが残りそのファイルは処理されません。
●EPS書き出しの設定
●テキストデータのサンプル
これをcsvで保存したものを選択する
/*
★EPS書き出し(ver.1.0).jsx★
☆ver.1.0☆
Copyright [偽善者こうちゃん]
[2007.04.13] {
ver.1.0作成
}
テキストファイルに記述されているフルパス(画像のような感じ)を
1行ずつ読み込んで開いてEPS保存のプレファレンスを設定してEPS保存するJavaScript。
なお、このJavaScriptを使用して損害をこうむっても
私は知りませんので、あしからず。
偽善者こうちゃん
http://macneko.blog77.fc2.com/
*/
//ファイルダイアログで読み込むテキストファイルを選択
var filename = File.openDialog("EPSするファイルのフルパステキストを指定してください");
if (filename) {
fileObj = new File(filename);
//ファイルを読み込みモードで開く
flag = fileObj.open("r");
//ラベル用にテキストファイルの行数をカウント開始
if (flag == true) {
//テキストの終わりまで{}の処理を続ける
while (!fileObj.eof) {
//ファイルを1行だけ読み込む
line = fileObj.readln();
//空行(改行のみ)じゃなかったら
if (line != "") {
//タブで区切って配列化
line = line.split(",") ;
//ファイルを開く
app.open(line[0]) ;
//EPS書き出しのオプション群
with (app.epsExportPreferences) {
//データフォーマット
dataFormat = DataFormat.ascii ; //ASCII
//カラー
epsColor = EPSColorSpace.cmyk ; //CMYK
//PostScriptLevel
postScriptLevel = PostScriptLevels.level3 ; //PostScriptLevel3
//PostScriptLevel
preview = PreviewTypes.tiffPreview ; //TIFFプレビュー
}
//作業するドキュメントなどを変数に代入
var docObj = app.activeDocument;
try {
//EPSファイルを作成
docObj.exportFile(ExportFormat.epsType, line[1], false)
} catch(e) {
var Witefilename = "MacintoshHD:Users:hoge:Desktop:EPSエラーログ.txt";
var WfileObj = new File(Witefilename);
var Wflag = WfileObj.open("w");
if (Wflag == true) {
WfileObj.writeln(line[0]);
WfileObj.close();
} else {
alert("ファイルが開けませんでした");
}
}
//ドキュメントを閉じる
app.activeDocument.close() ;
}
}
}
}