Does anyone know of a way within AI CS4 to export layers to separate .ai files? Or third party plug-in to do the same? Preferably retaining the layer name as the new file name.
I have a layered .ai file with 40 layers of logo versions that I need to export to separate files and I'd like to avoid the obvious "save as" and delete layers route.
Thanks in advance.
Try this. Cut and paste into a text editor and save as a plain text file with a .jsx extension. You can either place it into your AICS4>Presets>Scripts folder and restart AI or just run it from File>Scripts>Other Scripts.
//////////////Start
var doc = app.activeDocument;
if (documents.length > 0){
// Create the illusrtratorSaveOptions object to set the AI options
var saveOpts = new IllustratorSaveOptions();
// Setting IllustratorSaveOptions properties.
saveOpts.embedLinkedFiles = true;
saveOpts.fontSubsetThreshold = 0.0
saveOpts.pdfCompatible = true
if (doc.saved==false) doc.save();
for (i=0; i<doc.layers.length; i++)
if (doc.layers[i].locked == false) doc.layers[i].visible = false;
fullDocName = doc.fullName;
var param = doc.name.split('.');
realDocName = param[0];
for (i=0; i<doc.layers.length; i++){
if (i-1<0) doc.layers[i].visible = true;
else {
doc.layers[i-1].visible = false;
doc.layers[i].visible = true;
}
if (doc.layers[i].locked == false) {
docName = realDocName+doc.layers[i].name+".ai";
var saveName = new File ( doc.path + "/" + docName );
doc.saveAs( saveName, saveOpts );
}
}
doc.close(SaveOptions.DONOTSAVECHANGES);
doc = null;
app.open (fullDocName);
}
/////////End
That worked great. Thank you so much. The only tweak I made was to eliminate the "realDocName+" from the "docName=" line so that the exported file name was unique to the layer name and not a composite of the target file and resulting file.
The Larry G. Schneider Fan Club is being launched as I type.
Danke.
Since in AI scripting you can't delete a hidden layer, this reverses the visibility of the layers and then deletes the visible layers. It then makes all layers visible and saves the file.
--------Start
--get a sourceFolder that holds the files to process
set sourceFolder to (choose folder with prompt "Choose a folder with files to process:") as text
-- get a list of files of the files to process in the sourceFolder
tell application "Finder" to set workingFiles to (every file of folder sourceFolder) as alias list
repeat with aFile in workingFiles
tell application "Adobe Illustrator"
open aFile
set currentFile to front document
tell application "Adobe Illustrator"
set myLayers to every layer of currentFile
repeat with i from 1 to count of items in myLayers
set myLayer to item i of myLayers
set locked of myLayer to false
if visible of myLayer is true then
set visible of myLayer to false
else if visible of myLayer is false then
set visible of myLayer to true
end if
end repeat
delete (every layer of currentFile whose visible is true)
end tell
tell application "Adobe Illustrator"
set visible of (every layer of currentFile) to true
end tell
close currentFile with saving
end tell
end repeat
--------End
Thats the way I do it right now
But think of five docs a day including 6 or more basic (must have) layers using only 2 or 3 of them frequently depenting on the content.
I once saw a script exporting only layers with content, unfortunatelly I don*t know which it was and where to get it from.
(and I*m curious of course ; )
I never heard of scripts until now. Are they hard to do? I was wanting to do exactly what this script did, but instead of saving as to an .ai, I wanted to export as a psd at:
300dpi
flat image
anti aliasing checked
imbed ICC profile UNchecked
Is this possible to do?
If you could do this or show me where to learn that would be awesome.
Thank you thank you thank you.
Justin
I haven't laughed this hard in quite some time. I no longer get frustrated with Adobe's mysterious choices in arbitrarily blanking fundamental capability. It's just entertaining now. Someone asks for a way to export layers as separate files and gets back a page of code and advice on how to develop scripts? Hysterical!! I've never seen anything so funny. It's going in my next screenplay. By the way, if your mechanic did this to you you'd take her to small claims. (laughter echoes on)
i wasn't able to get the second script to work (the one that should remove the layers that don't belong in the new file).
i don't know much about scripting, but the first file doesn't look anything like the second..
and this is the error it gives.
may i get help on this script to save only the layer information per the new file it's creating?
@tpf1952.. it worked for you?
thank you if anyone can help!!!!!
North America
Europe, Middle East and Africa
Asia Pacific