Tuesday, March 10, 2009 / ExtendScript, Illustrator, EPS, DTP

Illustrator CS3 + ExtendScript を使用して EPS を SVG にバッチ変換する

oXygenのoXygen Authorの作者モードでは、 EPSは表示できないが、SVGは表示できる。 また、Apache FOP を使って変換する場合も、PDFに直接出力する場合は、EPSは使えない。
※PostScriptに書き出す場合は、EPSを扱える。

そこで、EPSをSVG形式に変換するのだが、数が多い上に、変更も発生するため 機械的に処理したい。 一つ一つillustratorで開いてSVG形式でエクスポートは面倒なので、ExtendScript で一括変換する。

eps2svg.jsx

//var folderObj=Folder("c:\\path\\to\\fig"); 
var folderObj = Folder.selectDialog("select folder");

var fileList = folderObj.getFiles("*.eps");
for (i=0; i<fileList.length; i++){
    var fileObj = File(fileList[i].fsName);
    app.open( fileObj ); 

    var fname=fileObj.fsName;
    reObj = new RegExp(".*\\.","g");
    fname=fname.match(reObj);

    var options=ExportOptionsSVG;
    options.fontType=SVGFontType.OUTLINEFONT;
    app.activeDocument.exportFile( File(fname+"svg"),ExportType.SVG,options );
    app.activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}

実行するには、 Extend Script Toolkit2 から実行するか、 Illustratorの【ファイル - スクリプト - その他のスクリプト...】で eps2svg.jsx を選択する。