Skip to main content
Inspiring
June 14, 2020
Question

Deleting hidden sublayers in specific layer

  • June 14, 2020
  • 3 replies
  • 1302 views

Hi, I need help with a small issue. I tried several delete hidden layer scripts I found but none of them worked.

I wan to delete the hidden layers in Layer "Text" before I export the file.

 

 

I am using this to make changes to the layers beforehand:

 

if (bks.layers.getByName("Text")){
bks.layers.getByName("Text").locked = false;
var text = bks.layers.getByName("Text"); 

 

...

}

This topic has been closed for replies.

3 replies

pixxxelschubser
Community Expert
Community Expert
June 15, 2020

Hallo @ellipirelli,

dein Englisch hört sich genau so an, wie meins auch.

😉

Liege ich richtig, dass du auch deutsch sprichst?

 

Wenn ja - es ist ziemlich schwierig zu sagen, wo der Fehler stecken könnte. Zumindest ohne eine Beispieldatei zum Testen zu bekommen oder den kompletten Code deines Skriptes analysieren zu können.

 

Vielleicht wäre es wirklich am Besten, wenn du in der *.ai alle Ebenen außer der Ebene „Text“ löscht und diese Datei dann unter anderem Namen als *.ai-Datei abspeicherst. Damit dürften dann eventuelle vertrauliche Daten ziemlich eliminiert sein und es sollte für dich kein Problem darstellen, wenn du diese Datei auf einen Hoster deiner Wahl (z.B. Dropbox oder xup.in) hochlädst und den Link zur Datei hier im Forum veröffentlichst.

 

Dann können wir mit deinem konkreten Dateiaufbau testen und kommen wahrscheinlich wesentlich schneller ans Ziel.

 

Viele Grüße

pixxxel_schubser

Charu Rajput
Community Expert
Community Expert
June 15, 2020

Hi,

As explained by pixxxel_schubser  Text layer do not have sublayers, Text  layer have pageItems inside that and that can be either textframes, file, rectangle, path or any other object. If you want to delete hidden items from layer "Text" try following snippet

 

var layer = app.activeDocument.layers.getByName('Text');
var pageItems = layer.pageItems;
for (var i = pageItems.length - 1; i >= 0; i--) {
  if (pageItems[i].hidden)
    pageItems[i].remove();
}

 

Let us know if this works for you.

Best regards
Inspiring
June 15, 2020

Hi,

it worked when exporting the eps and svg files but not with the ai files. Any idea?


Kind regards,

 

Elli

Charu Rajput
Community Expert
Community Expert
June 15, 2020

Well, this is not something related to format of the file. Could you please share the screenshot of Layers panel when ai file is open or share the ai file in which it is not working. There must be something how you have created items in ai files.

Best regards
pixxxelschubser
Community Expert
Community Expert
June 14, 2020

Hi @ellipirelli,

it seems you don't have sublayers in your layer "Text" - but text frame items and path items instead.