Mobile app version of vmapp.org
Login or Join
Gonzalez368

: How to export Illustrator layers as individual images? I have an Illustrator file that contains patterns. I'd like to export each pattern as an individual image to use in this new program that

@Gonzalez368

Posted in: #AdobeIllustrator #IllustratorScripting #Png

I have an Illustrator file that contains patterns. I'd like to export each pattern as an individual image to use in this new program that I'm trying called Sketch. Is there a batch processing script that exports layers as PNG or SVG? I'd like to have each geometric pattern available as a PNG, not as one large file.

Any thoughts?

10.02% popularity Vote Up Vote Down


Login to follow query

More posts by @Gonzalez368

2 Comments

Sorted by latest first Latest Oldest Best

 

@Nimeshi706

If the patterns are indeed on individual layers, you may be able to use scripting to export each layer as an individual png.

Carlos Canto wrote a script for Illustrator and posted it in the Adobe forums.

In case of link rot, here's Carlos' script:
#target Illustrator

// script.name = exportLayersAsCSS_PNGs.jsx;
// script.description = mimics the Save for Web, export images as CSS Layers (images only);
// script.requirements = an open document; tested with CS5 on Windows.
// script.parent = carlos canto // 05/24/13; All rights reseved
// script.elegant = false;


/**
* export layers as PNG
* @author Niels Bosma
*/
// Adapted to export images as CSS Layers by CarlosCanto


if (app.documents.length>0) {
main();
}
else alert('Cancelled by user');


function main() {
var document = app.activeDocument;
var afile = document.fullName;
var filename = afile.name.split('.')[0];


var folder = afile.parent.selectDlg("Export as CSS Layers (images only)...");


if(folder != null)
{
var activeABidx = document.artboards.getActiveArtboardIndex();
var activeAB = document.artboards[activeABidx]; // get active AB
var abBounds = activeAB.artboardRect;// left, top, right, bottom


showAllLayers();
var docBounds = document.visibleBounds;
activeAB.artboardRect = docBounds;


var options = new ExportOptionsPNG24();
options.antiAliasing = true;
options.transparency = true;
options.artBoardClipping = true;

var n = document.layers.length;
hideAllLayers ();
for(var i=n-1, k=0; i>=0; i--, k++)
{
//hideAllLayers();
var layer = document.layers[i];
layer.visible = true;


var file = new File(folder.fsName + '/' +filename+ '-' + k +".png");

document.exportFile(file,ExportType.PNG24,options);
layer.visible = false;
}

showAllLayers();
activeAB.artboardRect = abBounds;
}


function hideAllLayers()
{
forEach(document.layers, function(layer) {
layer.visible = false;
});
}


function showAllLayers()
{
forEach(document.layers, function(layer) {
layer.visible = true;
});
}


function forEach(collection, fn)
{
var n = collection.length;
for(var i=0; i<n; ++i)
{
fn(collection[i]);
}
}
}


Copy and paste this into a text file and save the text file with a .jsx suffix. Then place the .jsx file into Adobe Illustrator CS(x)/Presets/[your language]/Scripts. After relaunching Illustrator, the script should be visible via File > Scripts within Illustrator.

10% popularity Vote Up Vote Down


 

@BetL875

For simplicity and speed of workflow, I would probably use the slice tool to create slices for the individual patterns, then Save for Web, making sure that "All Slices" was selected in the "Export:" dropdown. If I were building from scratch, I'd put each pattern on its own artboard (which you could still do) and use File>Export with the "Use Artboards" option checked.

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme