ごんれのラボ

iOS、Android、Adobe系ソフトの自動化スクリプトのことを書き連ねています。

InDesignでJavaScript その14

InDesignでJavaScript その14。

テキストファイルに記述されているフルパス(画像のような感じ)を1行ずつ読み込んで開いてEPS保存のプレファレンスを設定してEPS保存するJavaScript。

InDesignの仕様で画像の使用状況を無視できないため、画像が変更なり移動なりのステータスになっていると、エラーログが残りそのファイルは処理されません。

●EPS書き出しの設定

20070413222148.jpg

●テキストデータのサンプル

20070413222204.jpg

これを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() ;

}

}

}

}