Illustrator CS2で作成したデータをWeb上で見てもらうにはPDF形式にするかSWF形式にします。どちらの形式でもよいのですが、普及度とユーザーが手軽に見られるという点ではSWF形式の方が上です。そこで今回は大量にあるEPSファイル(AIファイルでも可)を一括してSWF形式にします。
実際のスクリプトは以下のようになります。CS2専用です。できればExtendScript Toolkitから実行するようにしてください。
// Save SWF Option
swfOpt = new ExportOptionsFlash();
expType = ExportType.FLASH;
swfOpt.resolution = 96; // dpi
swfOpt.frameRate = 12; // fps
swfOpt.generateHTML = false;
swfOpt.looping = false;
// Save Folder Path
folderPath = Folder.selectDialog("フォルダを選択してください");
if (folderPath)
{
savePath = Folder.selectDialog("保存フォルダを選択してください");
if (savePath)
{
fileList = folderPath.getFiles("*.eps");
for (i=0; i<fileList.length; i++)
{
fileObj = new File(fileList[i].fsName);
epsName = fileList[i].name;
epsName = epsName.split(".")[0];
open(fileObj);
fName = new File(savePath+"/"+epsName+".swf");
app.activeDocument.exportFile(fName, expType, swfOpt);
activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}
}
}
EPSファイルがあるフォルダを選択し、次に保存先のフォルダを選択すると以後は自動的に変換処理が行われます。MacOS Xの場合にはIllustrator CS2を最前面にしておく必要があります。(MacOS Xの場合、別のユーザーを作成し、そこでIllustrator CS2だけを動かして処理させるという手もあります)
保存する際のオプションはいくつかありますが、解像度の指定は
swfOpt.resolution = 96; // dpi
の96の値を変更します。(基本的に72または96)
フレームレートは以下の行の12を変更します。
swfOpt.frameRate = 12; // fps
また、ループ再生であれば
swfOpt.looping = false;
を
swfOpt.looping = true;
にします。EPSでなく拡張子がAIのファイルをSWFに変換したい場合には
fileList = folderPath.getFiles("*.eps");
を
fileList = folderPath.getFiles("*.ai");
に変更します。
Illustrator CS2でなくCSの場合にはフォルダ選択ができないので直接フォルダのパスを指定する必要があります。以下のスクリプトはルートディレクトリにある/data_eps/ディレクトリのEPSファイルを変換し/data_swf/ディレクトリに保存します。
// Save SWF Option
swfOpt = new ExportOptionsFlash();
expType = ExportType.FLASH;
swfOpt.resolution = 96; // dpi
swfOpt.frameRate = 12; // fps
swfOpt.generateHTML = false;
swfOpt.looping = false;
// Save Folder Path
folderPath = new Folder ("/data_eps/");
savePath = "/data_swf/";
fileList = folderPath.getFiles("*.eps");
// Main
for (i=0; i<fileList.length; i++)
{
fileObj = new File(fileList[i].fsName);
epsName = fileList[i].name;
epsName = epsName.split(".")[0];
open(fileObj);
fName = new File(savePath+epsName+".swf");
app.activeDocument.exportFile(fName, expType, swfOpt);
activeDocument.close(SaveOptions.DONOTSAVECHANGES);
}