[GastForen Programmierung/Entwicklung JavaScript Illustrator-Skript: Ausgeblendete Ebenen löschen

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Illustrator-Skript: Ausgeblendete Ebenen löschen

q3player
Beiträge gesamt: 70

6. Okt 2015, 12:20
Beitrag # 1 von 4
Bewertung:
(4073 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

nachfolgend ein kurzes Skript, mit dem ich einfach alle ausgeblendeten Ebenen einer AI löschen möchte. Ich weiß, daß das auch im Programm selbst über Menübefehle geht, ich brauche das aber im Rahmen eines größeren Skripts als Bestandteil in JS.

Code
// Ausgeblendete Ebenen löschen 
for (i = 0; i < activeDocument.pageItems.length; i++) {
obj = activeDocument.pageItems[i];
if ((obj.hidden)) {
obj.remove();
}
}

Das Ergebnis ist aber nicht so wie ich mir das gedacht habe (siehe Screenshot).

http://transfer.can-do-design.de/...lete_hidden_prob.jpg

Aus mir unerfindlichen Gründen werden einzelne Ebenen und auch Gruppen nicht gelöscht. Ganz rechts sind die nicht gelöschten (1 Ebene und 1 Gruppe) nochmal blau markiert.

Wo ist da der Fehler im Code?

q3player
X

Illustrator-Skript: Ausgeblendete Ebenen löschen

q3player
Beiträge gesamt: 70

6. Okt 2015, 14:44
Beitrag # 2 von 4
Beitrag ID: #543383
Bewertung:
(4028 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Selbst gelöst per ausgiebiger Google-Suche :-)

Code
var idoc = app.activeDocument;   

for (i = idoc.pageItems.length-1; i>=0; i--){
if (idoc.pageItems[i].hidden == true){
idoc.pageItems[i].remove();
}
}


Das Problem war, daß beim Löschen der Ebenen von oben nach unten sich die Reihenfolge und somit der Index der Ebenen ändert. Deshalb überspringt das Skript einige Ebenen. Die obige Lösung arbeitet sich von unten nach oben durch die Ebenen-Hierarchie und alles klappt wie es soll.


als Antwort auf: [#543370]

Illustrator-Skript: Ausgeblendete Ebenen löschen

pixxxelschubser
Beiträge gesamt: 1682

10. Okt 2015, 11:07
Beitrag # 3 von 4
Beitrag ID: #543506
Bewertung:
(3928 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo @q3player,
beim Löschen sollte man i.d.R. die Schleife immer rückwärts durchlaufen. Und dein Skriptschnipsel scheint ja jetzt auch das zu machen, was du wolltest.

Deshalb nur ein kleiner Hinweis:
Es macht aber nicht das, was du beschrieben hast – es löscht keine Ebenen, nur Objekte (trenne daher bitte künftig die Begrifflichkeiten Ebenen und Objekte voneinander)!

Und genau deshalb wird dein Skript früher oder später Fehlermeldungen werfen. Nämlich dann, wenn die „eigentliche“ Ebene oder Unterebene (auf der sich die ausgeblendeten Objekte befinden) ebenfalls ausgeblendet oder gesperrt ist.
--> Target layer cannot be modified


Wink
Viele Grüße
pixxxelschubser




Was wir wissen, ist ein Tropfen; was wir nicht wissen, ein Ozean.

Isaac Newton




als Antwort auf: [#543383]

Illustrator-Skript: Ausgeblendete Ebenen löschen

q3player
Beiträge gesamt: 70

11. Okt 2015, 22:14
Beitrag # 4 von 4
Beitrag ID: #543533
Bewertung:
(3837 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke für den Hinweis. Werde ich nochmal überarbeiten müssen.


als Antwort auf: [#543506]
X

Aktuell

PDF / Print
300_PDF20

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
02.02.2023

Prozesse optimieren und effizient gestalten

Zürich
Donnerstag, 02. Feb. 2023, 08.00 - 10.00 Uhr

Digitalisierung, Webauftritt

Digitalisierung mitgestalten - Worauf kommt es an? Wie wichtig ist die Webseite? Webseite mit Word Press? Interne Prozesse optimieren

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: Birol Isik, E-Mailinfo AT bkcc DOT ch

https://digitalisierung-heute.ch/digitalisierung-informationstag-schweiz/

Veranstaltungen
01.03.2023 - 09.03.2023

Online
Mittwoch, 01. März 2023, 00.00 Uhr - Donnerstag, 09. März 2023, 00.00 Uhr

Online Webinar

Wie gehen wir mit diesen Veränderungen um? Was ist notwendig, damit wir die Digitalisierung im Unternehmen klappt? Veränderungsprozesse verstehen und entsprechend handeln Mitarbeiter als Botschafter Webseite mit WordPress erstellen SEA /SEO (Ads aufschalten)

Ja

Organisator: B. Isik - SNF Academy

Kontaktinformation: B. Isik, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/digitalisierung-schweiz/