[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Scriptphänomen alle 16 Steps

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Scriptphänomen alle 16 Steps

drfoots
Beiträge gesamt: 129

25. Feb 2021, 10:46
Beitrag # 1 von 5
Bewertung:
(6429 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

bei mir taucht während des Ablaufs eines Scripts ein für mich unerklärliches Phänomen auf und vielleicht habt ihr eine Idee oder einen Tipp was man ändern könnte.

Ich habe ein Script mit dem ein Element aus der Zwischenablage in alle vorhandenen Ebenen eingefügt wird. (z.B. ein Kreis oder ein Rechteck)
Solange der Ablauf noch relativ einfach ist, geht auch alles gut.
Sobald es für Indesign aber komplexer wird und die Daten, die schon auf den einzelnen Ebenen liegen größer werden taucht ein Problem auf.
(Komplex heisst, dass der Beachball während der Abarbeitung kommt)

Aufgabe des scripts:
- füge auf jeder Ebene ein Element aus dem Zwischenspeicher ein.

Das Problem selbst:
- alle 16 Schritte fügt er auf einer Ebene 2x das Element ein und auf der darauf folgenden vergisst er das Element einzufügen. dann geht es wieder normal weiter und es kommt auf jeder Ebene das Element.

Habt Ihr hierfür eine Erklärung?
- es tritt auf mehreren Rechnern auf. Mac OSX Indesign 2019
- Speicher sollte ausreichend zur Verfügung stehen.
- Phänomen tritt auf wenn viele Ebenen >50 gefüllt werden müssen. Teilweise auch erst bei mehrfachem Einladen.
- es sind oft nur 2 Ebenen Elemente vorhanden. Ein PDF auf jeder Ebene und dann das einzufügene Kreiselement.
- bei einfachen sachen funktioniert es.
- Musterdatei der PDF Datei kann ich leider nicht einfügen wg. Kundendaten.
- es ist immer nur 1 Element in der Zwischenablage das eingefügt werden soll
- es tritt wirklich nur alle 16 Ebenen auf.


zur Script:

Code
var oldPasteRem = app.clipboardPreferences.pasteRemembersLayers;   
app.clipboardPreferences.pasteRemembersLayers = false;

for (i = 0; i < app.activeDocument.layers.length; i++) {
if(app.activeDocument.layers[i].visible == true && app.activeDocument.layers[i].locked == false) {
app.activeDocument.activeLayer = app.activeDocument.layers[i];
app.pasteInPlace();
};
};
app.clipboardPreferences.pasteRemembersLayers = oldPasteRem;




Ich hoffe, dass ich es richtig erklärt habe.
Ansonsten fragt gerne nach.

viele sonnige Grüße
drfoots
X

Scriptphänomen alle 16 Steps

Martin Fischer
  
Beiträge gesamt: 12778

25. Feb 2021, 11:20
Beitrag # 2 von 5
Beitrag ID: #578951
Bewertung:
(6417 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo drfoots,

zum Problem selbst kann ich nichts sagen. Dieses Verhalten ist mir unbekannt.

Copy & Paste würde ich aber wenn irgend möglich, für wiederholte Vorgänge vermeiden.

Eine Idee: den Inhalt der Zwischenablage nur einmal per PasteInPlace einfügen und für die weiteren Duplikate das eingefügte Objekt auf die anderen Ebenen duplizieren.

Ändert das was am Verhalten?


------
edit:
Kein Beitrag zur Behebung des Verhaltens, aber vielleicht zur Organisation: Weshalb legst Du das einzufügende Objekt nicht auf eine neue oberste Ebene, die immer eingeblendet ist und auf der Objekte zu liegen kommen, die bei allen Exporten der jeweils anderen Ebene(n) mit berücksichtigt werden?

Das hätte auch Vorteile hinsichtlich einer Neupositionierung oder eines Austauschs dieser für alle Exporte immer gleichen Elemente.


als Antwort auf: [#578950]
(Dieser Beitrag wurde von Martin Fischer am 25. Feb 2021, 11:26 geändert)

Scriptphänomen alle 16 Steps

drfoots
Beiträge gesamt: 129

25. Feb 2021, 12:41
Beitrag # 3 von 5
Beitrag ID: #578954
Bewertung:
(6380 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

vielen Dank für deine Antwort.

Ich müsste es mal ausprobieren, die Elemente zu duplizieren wie du geschrieben hast.


Das interessante ist wirklich dass es nachvollziehbar alle 16 Ebenen passiert.

Aber auch eine If-Bedingung, bei der max 2 Ebenenelmente da sein dürfen hat das Problem nicht gelöst.

Gibt es sonst bei Javascript etwas dass irgendwie auf 16er Schritte hinweisen könnte?

------

zu edit:

Das Einkopieren auf jeder Ebene ist ein Teil eines Workflows. Später werden diese Elemente von den anderen darunterliegenden Elementen abgezogen. (was man sonst über den Pathfinder macht)
Daher ist es in diesem Fall notwendig diese Elemente zu kopieren.
Ansonsten kann man natürlich ein Musterelement verwenden, dass später als Referenz bzw. Base layer ausgegeben wird.
Wird auch für andere Sachen verwendet. Danke für den Tipp :)



Ich werde das mit dem duplizieren aber auf jeden Fall testen.


als Antwort auf: [#578951]

Scriptphänomen alle 16 Steps

pixxxelschubser
Beiträge gesamt: 1708

25. Feb 2021, 17:10
Beitrag # 4 von 5
Beitrag ID: #578956
Bewertung:
(6291 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Eine Erklärung kann ich dir nicht liefern.

Aber eine Gegenfrage:
Hast du schon einmal versucht, rückwärts zu schleifen? Ändert sich dann das Verhalten?


als Antwort auf: [#578954]

Scriptphänomen alle 16 Steps

drfoots
Beiträge gesamt: 129

5. Mär 2021, 18:27
Beitrag # 5 von 5
Beitrag ID: #579013
Bewertung:
(5574 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo pixxxelschubser,

bitte entschuldige die späte Rückmeldung.
Ich komme leider erst heute zu einer Antwort.

Ich hatte kurz Zeit deine Idee umzusetzen und muss sagen, dass es zumindest bis jetzt nach mehreren kleineren Tests wirklich funktioniert. :)

Also Reihenfolge der for-Schleife geändert und jetzt scheint es ohne Fehler durchzulaufen.

Vielen Dank für die Idee und schönes Wochenende

drfoots


als Antwort auf: [#578956]
X