Просматривая Illustrator JavaScript API, вы заметите, что объект Document имеет массив образцов. Все, что осталось сделать, это:
- петля через каждый Swatch
- нарисовать прямоугольник текущего Swatch цвета
- экспорта изображения
Я рекомендую использовать PNG-24 вместо JPG, чтобы избегайте артефактов сжатия.
Вот прокомментировал сценарий, который запрашивает для экспорта папки первого:
#target illustrator
//get a reference to the the current document
var doc = app.activeDocument;
//...and it's swatches
var swatches = doc.swatches;
//select a folder to save images into
var savePath = Folder.selectDialog('Please select a folder to export swatch images into', '~');
//exported image dimensions
var width = 100;
var height = 100;
//PNG export options
var pngExportOpts = new ExportOptionsPNG24();
pngExportOpts.antiAliasing = false;//keep it pixel perfect
pngExportOpts.artBoardClipping = false;//use the path's dimensions (setup above), ignore full document size
pngExportOpts.saveAsHTML = false;
pngExportOpts.transparency = true;//some swatches might have transparency
//remove strokes
doc.defaultStroked = false;
//go through the swatches
for(var i = 0; i < swatches.length; i++){
//add a rectangle
var rect = doc.pathItems.rectangle(0, 0, width, height);
//set the fill colour based on the current swatch colour
rect.fillColor = swatches[i].color;
//export png
doc.exportFile(new File(savePath+ '/' + swatches[i].name + '.png'), ExportType.PNG24, pngExportOpts);
//remove any previous paths (in case of transparent swatches)
doc.pathItems.removeAll();
}
Стоит также отметить, вы могли бы parse .ase файлов (Adobe Swatch Exchange) в языке выбора для экспорта изображений, избегая при помощи Illustrator вообще ,