Como eu crio um script de lote de exportação no Illustrator CS4?

1

Como faço para criar um script em lote que exportaria um conjunto de arquivos do AI no CS4 para um tamanho específico?

    
por Timmy 25.01.2010 / 01:08

2 respostas

2

Você deve ter uma pasta de scripts em algum lugar assim: C:\Program Files\Adobe\Adobe Illustrator CS2\Presets\Scripts . Copie o ExportDocsAsFlash.js para ExportDocsAsPNG24.js e modifique usando a AI Javascript Reference como um guia.

Eu tentei este w / CS2 (código abaixo), mas parece haver um bug no mecanismo. Para PNGs (e GIF, ao que parece), ele não acessa objetos de documentos subseqüentes, portanto, salva o mesmo documento a cada vez. Espero que o CS4 tenha isso corrigido.

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;
}
    
por 26.01.2010 / 04:37
1

Você pode fazer isso com a opção de exportação do inkscape.

Primeiro instale o inkscape:

apt-get install inkscape

Crie um script export_to_png.sh com o seguinte código:

#!/bin/bash
for i in $(ls $1);
do
        inkscape -w100 -h100 -e $1/$i.png $1/$i
done

Torne-o executável:

chmod +x export_to_png.sh

Em seguida, execute:

./export_to_png.sh /path/to/images/

Ele converterá "somefile.ai" em "somefile.ai.png" com tamanho 100x100.

    
por 28.10.2011 / 11:35