[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Alle Objekte einer linken, bzw. rechten Seite per Script neu ausrichten.

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

Alle Objekte einer linken, bzw. rechten Seite per Script neu ausrichten.

SuperSharpy
Beiträge gesamt: 8

20. Jan 2015, 10:17
Beitrag # 1 von 11
Bewertung:
(8395 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ich bin am verzweifeln, da ich seit Tagen eine Lösung suche aber an meinen mangelnden Script Kenntnissen scheiter. Ich habe ein generiertes Indesign Dokument von einem Indesign-Server mit mehreren Seiten. Das Problem ist, dass die Plazierung der Objekte auf den rechten und linken Seiten nicht dem entspricht, was ich final benötige.

Die Lösung wäre:
a) Ein Script, das alle Elemente relativ zu einer Koordiante ausrichtet ohne dabei die Abstände der Boxen zu verändern. Also nicht alle Boxen am gleichen Punkt ausrichtet, sondern nur die äußerste Box.

oder

b) Ein Script, das alle Elemente am Seitenlayout ausrichtet ohne dabei die Abstände der Boxen zu verändern. Also nicht alle Boxen am gleichen Punkt ausrichtet.

Zu dem Topic oben habe ich durchaus 2-3 "fast" perfekte Ansätze gefunden aber in jedem Fall hat eine essentielle Anfroderung gefehlt.

Bspw. moveObjects Script von hier: funktionuiert super, aber es verschiebt rechte wie linke Seiten gleichermasen, diese müssen aber in meinem Fall unterschiedlich platziert werden. Evtl. kann jemand den Code ergänzen? ;-)

adjustLayout-Standard-Indesign-Script: wäre toll aber es ist leider in der Einheit "pt". Die angepasste "mm" Variante, die ich gefunden habe funktioniert nicht richtig.

Ich bin wirklich am verzweifeln. Ich denk dafür müsste es doch ein fertiges Werk geben, denn die Anforderung klingt nicht so exotisch. Ich habe mir wirklich einen W... gesucht im www ;-)

Ich finde folgenden Ansatz ganz interessant aber er richtet eben jede Box am Layout aus und korigiert eben nicht nur im Verhältins der äußernen Boxen. Eine Lsöung könnte es sein, alle Elemente zu gruppieren, sie dann zu verschieben und dann die Gruppierung wieder aufzulösen oder auch nicht, wäre in meinem Fall nicht so tragisch. Aber ich habe das nicht geschafft.

Code
const CS_INNER = +CoordinateSpaces.innerCoordinates;   

var pages = app.activeDocument.pages.everyItem().getElements(),
p, o, xy;

while( p=pages.pop() )
{
o = p.marginPreferences;
xy = p.resolve([[-o.left,-o.top], [0,0]], CS_INNER, true)[0];
p.pageItems.length && p.pageItems.everyItem().move([-xy[0]+'pt',-xy[1]+'pt']);
}


Evtl. weiß jemand eine Lösung.

Gruß und vielen Danke SuperSharpy
X

Alle Objekte einer linken, bzw. rechten Seite per Script neu ausrichten.

Hans Haesler
  
Beiträge gesamt: 5826

22. Jan 2015, 16:41
Beitrag # 2 von 11
Beitrag ID: #536225
Bewertung:
(8269 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo SuperSharpy,

ich verstehe nicht ganz, was das Script leisten soll.

Aber wenn Du mir zwei Dokumente [vorher | nachher] zustellst,
werde ich mal versuchen, etwas zustandezubringen.

Gruss, Hans


als Antwort auf: [#536097]

Alle Objekte einer linken, bzw. rechten Seite per Script neu ausrichten.

SuperSharpy
Beiträge gesamt: 8

26. Jan 2015, 10:23
Beitrag # 3 von 11
Beitrag ID: #536279
Bewertung:
(8134 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Hans,

erstmal danke, dass du mir helfen willst. Evtl. lenkt das Script, dass ich gepostet habe von meinem eigentlichen Wunsch ab.

Ich generiere mit einem Indesign-Server aus einer Datenbank ein größeres Dokument. Da sich dieses mehrerer Vorlagen (Templates) beim Aufbau bedient kann ich definitiv nicht im Vorfeld ermitteln welche linke und welche rechte Seite ich haben werde.

Deshalb benötige ich ein Script das quasi einfach alle Seiten des Indesign Dokuments um x=mm und y=mm verschiebt. Wichtig ist hierbei nur, dass ich rechte und linke Seiten unterschiedlich ansprechen kann. Das war es schon ;-)

Das Script "AdjustLayout", dass mit Indesign mitgeliefert wird (ich benutze CS6) wäre eigentlich perfekt, wenn es die Einheit "mm" berücksichtigen würde anstatt "pt". Ich weiß, dass es eine "eingedeutschte" Variante gibt mit "mm", aber diese funktioniert bei mir nicht richtig.

Hilft dir das? Ich kann irgendwie keinen Anhang speichern, deshalb ohne ;-O

Gruß SuperSharpy


als Antwort auf: [#536225]

Alle Objekte einer linken, bzw. rechten Seite per Script neu ausrichten.

Hans Haesler
  
Beiträge gesamt: 5826

26. Jan 2015, 11:05
Beitrag # 4 von 11
Beitrag ID: #536283
Bewertung:
(8118 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo SuperSharpy,

bitte sehr.

Um einen Anhang speichern zu können, müsstest Du Member sein: http://www.hilfdirselbst.ch/...?do=membership;t=def

Du kannst mir aber eine Musterdatei per E-Mail zustellen. Die Adresse findest Du in meinem Profil (Klick auf meinen Namen).

Aber bitte nicht das gesamte Dokument senden: Eine Kopie des "grösseren" Dokuments machen und bis auf eine Doppelseite alle Seiten entfernen.
Dann eine weitere Kopie dieses Dokuments und die Rahmen an die gewünschte Position verschieben. Und mir beide Dateien als zustellen.

Welche Version von InDesign benutzest Du? Mac oder Win?

Gruss, Hans


als Antwort auf: [#536279]
(Dieser Beitrag wurde von Hans Haesler am 26. Jan 2015, 11:20 geändert)

Alle Objekte einer linken, bzw. rechten Seite per Script neu ausrichten.

Hans Haesler
  
Beiträge gesamt: 5826

27. Jan 2015, 08:40
Beitrag # 5 von 11
Beitrag ID: #536309
Bewertung:
(8046 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo SuperSharpy,

danke für das Beispieldokument.

Zum Script AdjustLayout.jsx:
In dessen Code müssen die Points nicht in Millimeter geändert werden.
Es genügt, im Textfeld des Dialoges 7mm einzugeben. Der Wert wird automatisch in Punkte umgerechnet. Dank mm stimmt die Position.

So far, so good.

Aber: Dieses Script hat einige Schwächen:
odd und even sind vertauscht (d.h. gerade und ungerade Seiten)
– Der verlangte Seitenbereich stimmt nicht.
– Wenn die erste Seite nicht bei 1 beginnt, setzt es eine Fehlermeldung ab.
– Wenn von drei Ebenen die erste gesperrt ist, sind danach die beiden ersten gesperrt.

Zum Script Layout anpassen.jsx:
Bei der Eingabe genügt es, nackte Zahlen einzutippen. Der Wert wird automatisch mit mm ergänzt.
Ungerade Seiten sind ungerade, gerade Seiten sind gerade.

So weit, so gut.

Aber: Auch diese Script hat einige Schwächen (zum Teil vom Original übernommen):
– Der eingegebene Wert wird als nackte Punktzahl weitergegeben und in Millimetern zugewiesen.
– Der verlangte Seitenbereich stimmt nicht.
– Wenn die erste Seite nicht bei 1 beginnt, setzt es eine Fehlermeldung ab.
– Wenn von drei Ebenen die erste gesperrt ist, sind danach alle drei gesperrt.
– Bei der Checkbox reagiert der Text nicht auf Klicks.

Ich habe nun das eingedeutsche Script als Grundlage genommen. Und die erwähnten Mängel ausgemerzt.
Weitere Änderungen:
– alle Variablen umbenannt;
– die Kommentare auch übersetzt;
– kosmetische Korrekturen vorgenommen;
– die Eingaben werden gespeichert (ausgenommen die Seiten) ...
– ... und bei der nächsten Ausführung wieder angeboten.

Die erste Version von RahmenVerschieben_601d.js ist unterwegs zu Dir.

Gruss, Hans


als Antwort auf: [#536279]
(Dieser Beitrag wurde von Hans Haesler am 27. Jan 2015, 15:50 geändert)

Alle Objekte einer linken, bzw. rechten Seite per Script neu ausrichten.

SuperSharpy
Beiträge gesamt: 8

27. Jan 2015, 13:19
Beitrag # 6 von 11
Beitrag ID: #536322
Bewertung:
(7987 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wahnsinn, läuft optimal.

Vielen vielen Dank


als Antwort auf: [#536309]

Alle Objekte einer linken, bzw. rechten Seite per Script neu ausrichten.

Hans Haesler
  
Beiträge gesamt: 5826

27. Jan 2015, 13:45
Beitrag # 7 von 11
Beitrag ID: #536323
Bewertung:
(7970 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo SuperSharpy,

bitte sehr. Ich bedanke mich für die positive Rückmeldung.

Wer dieses Script auch gebrauchen könnte, muss sich noch etwas gedulden. Ich werde es veröffentlichen, will aber zuerst zwei, drei suspekte Dinge überprüfen.

Gruss, Hans


als Antwort auf: [#536322]

Alle Objekte einer linken, bzw. rechten Seite per Script neu ausrichten.

Hans Haesler
  
Beiträge gesamt: 5826

29. Jan 2015, 23:27
Beitrag # 8 von 11
Beitrag ID: #536473
Bewertung:
(7735 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Scripter,

nun ist das Script RahmenVerschieben.js veröffentlicht:
http://www.fachhefte.ch / Links "JavaScripts", "Mac OS X deutsch"
(oder "Windows deutsch"), "InDesign CS2" bis "InDesign CS5".
Letzteres sollte auch mit höheren Versionen – bis CC (2014) – funktionieren.

Gruss, Hans


als Antwort auf: [#536323]

Alle Objekte einer linken, bzw. rechten Seite per Script neu ausrichten.

Uwe Laubender
Beiträge gesamt: 5319

30. Jan 2015, 06:15
Beitrag # 9 von 11
Beitrag ID: #536475
Bewertung:
(7675 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Hans!

Herzlichen Dank dafür. Und natürlich auch an alle sonst Beteiligten.
Werde es für die höheren Versionen demnächst mal testen und hier berichten.
(Für Mac OSX 10.7.5)


als Antwort auf: [#536473]

Alle Objekte einer linken, bzw. rechten Seite per Script neu ausrichten.

MarkusD
Beiträge gesamt: 34

24. Jul 2017, 18:40
Beitrag # 10 von 11
Beitrag ID: #558742
Bewertung:
(5066 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Herr Haesler,

ich bedanke mich auch für das Superscript. Hat mir schon einige Stunden gespart. Es funktioniert auch unter CS6.
Jetzt habe ich das Problem, dass nur bestimmte Rahmen, die alle auf jeder Seite an der gleichen Position stehen, verschoben werden sollen. Meine Versuche Ihr Script anzupassen sind leider gescheitert, da ich im Script den Punkt, an dem die Koordinaten einzutragen sind nicht finde.
Können Sie mir bitte auf die Sprünge helfen?


als Antwort auf: [#536473]

Alle Objekte einer linken, bzw. rechten Seite per Script neu ausrichten.

Hans Haesler
  
Beiträge gesamt: 5826

24. Jul 2017, 19:07
Beitrag # 11 von 11
Beitrag ID: #558743
Bewertung:
(5056 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Markus,

bitte sehr.

Sehr wahrscheinlich muss eine spezielle Version des Scripts erstellt werden. Immer noch unter Windows unterwegs?

Würdest Du mir bitte ein Demo-Dokument zustellen, mit den Angaben, welche Rahmen um wie viel verschoben werden sollen?
Besten Dank im voraus.

Gruss, Hans


als Antwort auf: [#558742]
X