I have modified the code based on the layer name but i got error. Could you please where I did wrong in the code.
var gout = 10;
var dx, dy;
dx = dy = 0;
var docRef = app.activeDocument;
var docLayer = docRef.layers
var ab = docRef.artboards[0];
var rect = ab.artboardRect;
var W = docRef.width; // or docRef.width;
var H = docRef.height; // or docREf.height;
dx = W+gout;
ab = docRef.artboards.add([rect[0]+dx,rect[0]+dy,rect[0]+dx+W,rect[1]-H+dy]);
for ( var p = 0 ; p < docLayer.length ; p++){
docLayer[p].name("White").translate(dx,dy);
}
Hi,
You are using translate method on layer, but translate method does not exists on the layers. So here is what you need to do
1. Get layer by name.
2. Get pageItems of that layer
3. Use translate method on page items.
You can try the following snippet that will move the item of layer named as "White" to new artboard.
var gout = 10;
var dx, dy;
dx = dy = 0;
var docRef = app.activeDocument;
var docLayers = docRef.layers
var ab = docRef.artboards[0];
var rect = ab.artboardRect;
var W = docRef.width; // or docRef.width;
var H = docRef.height; // or docREf.height;
dx = W + gout;
ab = docRef.artboards.add([rect[0] + dx, rect[0] + dy, rect[0] + dx + W, rect[1] - H + dy]);
var _pageItems = docLayers["White"].pageItems;
for (var p = 0; p < _pageItems.length; p++) {
_pageItems[p].translate(dx, dy);
}