hilfdirselbst.ch
Facebook Twitter gamper-media

**********************************************
        Facelifting HDS: Danke für deine Unterstützung!

**********************************************


SuperSharpy
Beiträge: 8
20. Jan 2015, 10:17
Beitrag #1 von 11
Bewertung:
(5775 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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
Top
 
X
Hans Haesler  M  p
Beiträge: 5580
22. Jan 2015, 16:41
Beitrag #2 von 11
Beitrag ID: #536225
Bewertung:
(5649 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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] Top
 
SuperSharpy
Beiträge: 8
26. Jan 2015, 10:23
Beitrag #3 von 11
Beitrag ID: #536279
Bewertung:
(5514 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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] Top
 
Hans Haesler  M  p
Beiträge: 5580
26. Jan 2015, 11:05
Beitrag #4 von 11
Beitrag ID: #536283
Bewertung:
(5498 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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)
Top
 
Hans Haesler  M  p
Beiträge: 5580
27. Jan 2015, 08:40
Beitrag #5 von 11
Beitrag ID: #536309
Bewertung:
(5426 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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)
Top
 
SuperSharpy
Beiträge: 8
27. Jan 2015, 13:19
Beitrag #6 von 11
Beitrag ID: #536322
Bewertung:
(5367 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


Wahnsinn, läuft optimal.

Vielen vielen Dank
als Antwort auf: [#536309] Top
 
Hans Haesler  M  p
Beiträge: 5580
27. Jan 2015, 13:45
Beitrag #7 von 11
Beitrag ID: #536323
Bewertung:
(5350 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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] Top
 
Hans Haesler  M  p
Beiträge: 5580
29. Jan 2015, 23:27
Beitrag #8 von 11
Beitrag ID: #536473
Bewertung:
(5115 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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] Top
 
Uwe Laubender S
Beiträge: 4039
30. Jan 2015, 06:15
Beitrag #9 von 11
Beitrag ID: #536475
Bewertung:
(5055 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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)
*****
Mit herzlichem Gruß,
Uwe Laubender
als Antwort auf: [#536473] Top
 
MarkusD p
Beiträge: 18
24. Jul 2017, 18:40
Beitrag #10 von 11
Beitrag ID: #558742
Bewertung:
(2446 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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?
Markus Dollenbacher
als Antwort auf: [#536473] Top
 
Hans Haesler  M  p
Beiträge: 5580
24. Jul 2017, 19:07
Beitrag #11 von 11
Beitrag ID: #558743
Bewertung:
(2436 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen

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


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] Top
 
X