1

Как мне создать пакетный скрипт, который бы экспортировал набор файлов AI в CS4 в png определенного размера?

2 ответа2

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;
}
1

Вы можете сделать это с помощью опции экспорта 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.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .