Как мне создать пакетный скрипт, который бы экспортировал набор файлов AI в CS4 в png определенного размера?
2 ответа
У вас должна быть папка скриптов где-то вроде этого: C:\Program Files\Adobe\Adobe Illustrator CS2\Presets\Scripts
. Скопируйте ExportDocsAsFlash.js
в ExportDocsAsPNG24.js
и измените его, используя AI Javascript Reference в качестве руководства.
Я пробовал это с CS2 (код ниже), но в двигателе, похоже, есть ошибка. Для PNG (и GIF кажется) он не обращается к последующим объектам документа, поэтому каждый раз сохраняет один и тот же документ. Надеюсь, в CS4 это исправлено.
var j, sourceDoc, targetFile;
var destFolder = null;
// Get the destination to save the files
destFolder = Folder.selectDialog( 'Select the folder where you want to save the exported files.', '~' );
if (destFolder != null) {
for ( j = 0; j < app.documents.length; j++ ) {
sourceDoc = app.documents[ j ]; // returns the document object
targetFile = getNewName(sourceDoc, destFolder);
// set PNG export options
var opt = new ExportOptionsPNG24();
opt.antiAliasing = true;
opt.transparency = true;
// Export
sourceDoc.exportFile(targetFile, ExportType.PNG24, opt);
}
alert( 'Files are saved as PNG24 in ' + destFolder );
}
function getNewName(sourceDoc, destFolder) {
var docName = sourceDoc.name;
var ext = '.png'; // new extension for png file
var newName = "";
// if name has no dot (and hence no extension,
// just append the extension
if (docName.indexOf('.') < 0) {
newName = docName + ext;
} else {
var dot = docName.lastIndexOf('.');
newName += docName.substring(0, dot);
newName += ext;
}
// Create a file object to save the png
saveInFile = new File( destFolder + '/' + newName );
return saveInFile;
}
Вы можете сделать это с помощью опции экспорта inkscape.
Сначала установите inkscape:
apt-get install inkscape
Создайте скрипт export_to_png.sh
со следующим кодом:
#!/bin/bash
for i in $(ls $1);
do
inkscape -w100 -h100 -e $1/$i.png $1/$i
done
Сделайте его исполняемым:
chmod +x export_to_png.sh
Затем запустите это:
./export_to_png.sh /path/to/images/
Он преобразует «somefile.ai» в «somefile.ai.png» с размером 100x100.