Illustrator CS3 + JavaScript を使用して EPSをSVGにバッチ変換するJavaScript
oXygenのoXygen Authorの作者モードでは、 EPSは表示できないが、SVGは表示できる。 また、Apache FOP を使って変換する場合も、PDFに直接出力する場合は、EPSは使えない。 (PostScriptに書き出す場合は、EPSを扱える。)
そこで、EPSをSVG形式に変換するのだが、数が多い上に、変更も発生するため
機械的に処理したい。
一つ一つillustratorで開いてSVG形式でエクスポート・・・やっていられないので、Scriptのお世話になる。
コード 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 を選択。
補足
EPSデータをSVGに変換するツールとしては、
pstoedit というツールもあるようです。
手元で用意できた環境では、
セットアップが面倒だったのと、
仕事で使う上で何か変換時に問題が生じた場合に、IllustratorCS3で処理していれば、
そりゃしょうがないね、という話に持って行けるので、今回はIllustratorで。