如何创建一个批处理脚本,将 CS4 中的一组 AI 文件导出为一定大小的 png?
答案1
您应该在某个地方有一个脚本文件夹,如下所示:C:\Program Files\Adobe\Adobe Illustrator CS2\Presets\Scripts
。将脚本复制ExportDocsAsFlash.js
到ExportDocsAsPNG24.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”。