InDesignでJavaScript その20
InDesignでJavaScript その20。

久しぶりにJavaScriptをアップしようか、と思い立ち。
前から書こう書こうと思ってめんどくさくて放置してたJavaScript。

●仕様
Scriptを起動するとますダイアログが表示されるので拡張子.inddのファイルのあるフォルダを選択。
次に表示されるダイアログでEPS保存先のフォルダを選択。
すると最初に選んだフォルダ内の拡張子.inddのファイルを開いて指定した保存先にEPSを保存する。
EPSの仕様は
・TIFFプレビュー
・PostScript 3
・ASCIIフォーマット
・ブリードなし(仕上がりサイズ)
・CMYKカラー

保存先のパスを生成する際にアクロバティックな処理してますが、不本意です(^^;
なんとなくOS Xの「濁点・半濁点が分離しちゃうよ」仕様のが原因な気もしますが、スラッシュをコロンに替えれば動くので、とりあえず。
そのうち原因究明します。
/*

★EPS保存.jsx★

Copyright [偽善者こうちゃん]

[2008.2.13] {
作成
}

ダイアログでINDDファイルのあるフォルダを選択し
次のダイアログで保存先のフォルダを選択すると
最初に選んだフォルダ内のINDDファイルを開いて
EPS保存してくれるJavaScript。
EPSの仕様は
・TIFFプレビュー
・PostScript 3
・ASCIIフォーマット
・ブリードなし(仕上がりサイズ)
・CMYKカラー

なお、このJavaScriptを使用して損害をこうむっても
私は知りませんので、あしからず。

偽善者こうちゃん
http://macneko.blog77.fc2.com/

*/

//フォルダを選択
var folderObj = Folder.selectDialog("EPSにしたいInDesignファイルのあるフォルダを選択してください") ;

//保存先を選択
var saveObj = Folder.selectDialog("保存先のフォルダを選択してください") ;
var saveObj = saveObj + "/" ; //末尾に区切りのスラッシュが抜けているので足しておく

//inddファイルを配列化(小文字・大文字無視)
var fileListINDD = folderObj.getFiles("*.indd") ;

//ファイル数分繰り返す

for (i = 0 ; i < fileListINDD.length ; i++) {

//ファイルを開く
app.open(fileListINDD[i]) ;

//EPS書き出しのオプション群
with (app.epsExportPreferences) {

//データフォーマット
dataFormat = DataFormat.ascii ; //ASCII

//カラー
epsColor = EPSColorSpace.cmyk ; //CMYK

//PostScriptLevel
postScriptLevel = PostScriptLevels.level3 ; //PostScriptLevel3

//PostScriptLevel
preview = PreviewTypes.tiffPreview ; //TIFFプレビュー

//ブリード
bleedBottom = "0mm" ; //地
bleedInside = "0mm" ; //のど
bleedOutside = "0mm" ; //小口
bleedTop = "0mm" ; //天

}

//作業するドキュメントなどを変数に代入
var docObj = app.activeDocument;

//ドキュメント名を取得
var fsName = docObj.name ;
var fsArray = fsName.split(".") ;
var inddName = fsArray[0] ; //ドキュメント名取得できた


//以下スラッシュ区切りだとなぜかうまく動かないのでコロン区切りのパスに変換する処理
//とりあえずデコードして人間にわかる文字列に
var saveEPSName = decodeURI(saveObj + inddName + ".eps") ;
var nArray = saveEPSName.split("/") ;
var saveEPSName2 = "" ;

for (h = 1 ; h
if (h != nArray.length - 1) {
var saveEPSName2 = saveEPSName2 + nArray[h] + ":" ;
} else {
var saveEPSName2 = saveEPSName2 + nArray[h] ;
}
}
//ここまで

//EPS保存
docObj.exportFile(ExportFormat.epsType, saveEPSName2, false)

//ドキュメントを閉じる
app.activeDocument.close() ;
}

【2008/02/13 16:36 】 | JavaScript | コメント(2) | トラックバック(0) | page top↑
<<InDesignでJavaScript素人講座 その6 | ホーム | 久々にAppleScriptでもいじろうか、と>>
コメント
----
すみません。for文の行が欠けている様なのですが、もしよろしければ教えていただないでしょうか?

by:侍須勇 | URL | #-【2008/03/21 21:34】 [ 編集] | page top↑
----
侍須勇さん>
すみません。
なぜか文字は入っているのに表示がされていなかったようです。
とりあえず修正しましたので、ご利用ください。
by:偽善者こうちゃん | URL | #-【2008/03/26 19:58】 [ 編集] | page top↑
コメントの投稿














管理者にだけ表示を許可する

トラックバック
| ホーム |