如何在 Illustrator CS4 中创建导出批处理脚本?

如何在 Illustrator CS4 中创建导出批处理脚本?

如何创建一个批处理脚本,将 CS4 中的一组 AI 文件导出为一定大小的 png?

答案1

您应该在某个地方有一个脚本文件夹,如下所示:C:\Program Files\Adobe\Adobe Illustrator CS2\Presets\Scripts。将脚本复制ExportDocsAsFlash.jsExportDocsAsPNG24.js并使用AI Javascript 参考作为指导。

我尝试使用 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;
}

答案2

您可以使用 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”转换为大小为 100x100 的“somefile.ai.png”。

相关内容