[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Gruppierung auflösen

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

Gruppierung auflösen

Thaler
Beiträge gesamt: 139

14. Apr 2016, 14:11
Beitrag # 1 von 10
Bewertung:
(6268 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,

ist jemand ein Skript bekannt, dass alle Gruppierungen auflöst,
und kennt jemand ein Skript, dass alle Elemente der Musterseite auf die Arbeitsseite bringt (so wie das auf Windows mit gedrückter Umschalt und Strg-Taste und klicken auf Musterseitenelement möglich ist)


Danke
Gregor
X

Gruppierung auflösen

Kai Rübsamen
Beiträge gesamt: 4679

14. Apr 2016, 14:42
Beitrag # 2 von 10
Beitrag ID: #548932
Bewertung:
(6254 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!

zu 1: Das dürfte mit einem Einzeiler gehen:
Code
app.documents[0].groups.everyItem().ungroup(); 


zu 2: Es ist ein Unterschied, ob du die Elemente von der Musterseite auf die Dokumentseite verschiebst oder ob du sie mit dem Shortcut löst!

Einzelseite? Doppelseite? Beispiel?


als Antwort auf: [#548925]

Gruppierung auflösen

Uwe Laubender
Beiträge gesamt: 5261

14. Apr 2016, 14:49
Beitrag # 3 von 10
Beitrag ID: #548933
Bewertung:
(6246 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Gregor,
eine Lösung für ein Skript, das alle Gruppen einer Datei auflöst wäre das folgende Schnipsel.

Das löst dann auch Gruppen in Gruppen auf.

Allerdings keine Gruppen innerhalb von grafischen Rahmen oder verankerte Gruppen in Textrahmen. Schon gar nicht Gruppen in Multistatus-Objekten oder anderen verschachtelten Strukturen.

Code
main(); 
function main()
{
var doc = app.documents[0];
if(doc.groups.length == 0){return};


// Optional
// begrenzt die while-Schleife,
// falls mit dem Auflösen der Gruppen etwas schiefgeht:

var max = doc.allPageItems.length;


while(doc.groups.length > 0 /* Optional: */&& max > 0 )
{
// Optional:
--max ;

doc.groups.everyItem().ungroup();
}

};



als Antwort auf: [#548925]

Gruppierung auflösen

Thaler
Beiträge gesamt: 139

15. Apr 2016, 15:28
Beitrag # 4 von 10
Beitrag ID: #548982
Bewertung:
(6030 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,
danke für eure schnelle Antwort.
Das Skript von Uwe hilft mir weiter, da Gruppen in Gruppen in ... vorkommen können.

Zum zweiten Problem, das lösen von Elementen der Musterseite: ich möchte bestehende Indesign-Datei (über idml)auswerten, egal ob ein- oder zweiseitig.
Dazu benötige ich auch Kolumnenköpfe.

Gregor


als Antwort auf: [#548933]

Gruppierung auflösen

Uwe Laubender
Beiträge gesamt: 5261

15. Apr 2016, 17:45
Beitrag # 5 von 10
Beitrag ID: #548997
Bewertung:
(5997 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Thaler ] … ich möchte bestehende Indesign-Datei (über idml)auswerten, egal ob ein- oder zweiseitig.
Dazu benötige ich auch Kolumnenköpfe.


Interessant.
Aber was meinst Du genau, Gregor?

Möchtest Du die Kolumnenköpfe, die sich vermutlich auf der/den Musterseite(n) befinden, lösen, damit sie teil eines Spreads werden?

Wie stellst Du die Auswertung an?
Über einen XML-Parser?

Genügt Dir das hier?
Code
/* 

See script snippet by Harbs here:

"[JS] Override Alle Master Page Items"
Correct Answer by Harbs. on May 28, 2009 8:58 AM

https://forums.adobe.com/message/1994650#1994650

function overrideMasterItems() by Harbs

*/

var doc = app.documents[0];
var pagesLength = doc.pages.length;

for(var n=0;n<pagesLength;n++)
{
overrideMasterItems(n);
}

function overrideMasterItems(/*page index number*/indexNumber)
{
var allItems = doc.pages[indexNumber].appliedMaster.pageItems.everyItem().getElements();

for(var i=0;i<allItems.length;i++)
{
try
{
allItems[i].override(doc.pages[indexNumber])
}
catch(e){}
}
}


Habe das Schnipsel mit verschachtelten Musterseiten nicht getestet. Nur an einem ganz simplen Dokument…


als Antwort auf: [#548982]

Gruppierung auflösen

Thaler
Beiträge gesamt: 139

16. Apr 2016, 11:01
Beitrag # 6 von 10
Beitrag ID: #549017
Bewertung:
(5901 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

"Möchtest Du die Kolumnenköpfe, die sich vermutlich auf der/den Musterseite(n) befinden, lösen, damit sie teil eines Spreads werden? "

genau darum geht es mir.

Ich möchte bestehende Indesign-Dateien (Kataloge) auswerten.
Idml besteht ja aus xml-Dateien. Diese Dateien bearbeite ich mit xslt2 um zumindest einen Teil der relevanten Informationen zu erhalten. Diese sollen dann überarbeitet und dann in eine Datenbank überführt werden.

Danke für die Hilfe, das Skript teste ich am Mo. oder Di. und geb dann Bescheid.

Gregor


als Antwort auf: [#548997]

Gruppierung auflösen

Thaler
Beiträge gesamt: 139

18. Apr 2016, 17:06
Beitrag # 7 von 10
Beitrag ID: #549048
Bewertung:
(5739 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

deine Einschränkung mit den verschachtelten Musterseiten trifft zu: auf diesen werden die Musterseitenelemente nicht aufgelöst.

Ich habe ein Skript auf http://indesignsecrets.com/topic/script-to-override-master-page-items gefunden, das mir weiterhilft. Dennoch vielen Dank für deine Antwort.

Gregor

Wen es interessiert der dazugehörige Code:
try {
//Active Document
var appDoc = app.activeDocument;
//All Master Spreads
var allMasSprs = appDoc.masterSpreads;
//All Document Pages
var allPages = appDoc.pages;
//Document Page
for (var p = 0; p < allPages.length; ++p) {
var tarMasPgItems = allPages[p].masterPageItems;
//Master Page Items
if (tarMasPgItems.length > 0) {
//Master Page Item
for (var m = 0; m < tarMasPgItems.length; ++m) {
try {
//Allow Override
if (allPages[p].masterPageItems[m].allowOverrides == true) {
allPages[p].masterPageItems[m].override(allPages[p]);
}//end if //Allow Override
} catch (er) {/*Inheritance Master Page Final Override Item*/}
}//end for //Master Page Item
}//end if //Master Page Items
}//end for
} catch (err) {
Window.alert(err);
}


als Antwort auf: [#548997]

Gruppierung auflösen

Uwe Laubender
Beiträge gesamt: 5261

19. Apr 2016, 17:07
Beitrag # 8 von 10
Beitrag ID: #549072
Bewertung:
(5646 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, Gregor!

Den dort nachfolgenden Kommentar hast Du aber hoffentlich auch gelesen, oder?

Dort wird erwähnt, dass sich nach dem Lösen manche Seitenelemente von ihrer ursprünglichen Position wegbewegten. Die Erklärung dafür kann ich Dir nennen: Ein Bug in InDesign. Dieser betrifft, soweit ich mich erinnern kann, das Skripten der Funktion, nicht aber das Ablösen über die Funktionalität im User-Interface.

Fehlerursache:
Immer dann, wenn die Seitengröße des Dokuments im "Dokument einrichten…"-Dialog geändert wurde und nicht mit dem Seiten-Werkzeug, tritt das Problem auf. Link zur Diskussion im amerikanschen InDesign-Scripting-Forum liefere ich nach, wenn gewünscht.


als Antwort auf: [#549048]

Gruppierung auflösen

Uwe Laubender
Beiträge gesamt: 5261

19. Apr 2016, 17:23
Beitrag # 9 von 10
Beitrag ID: #549073
Bewertung:
(5643 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Tja, hab' nicht lange suchen müssen. Die URL zum Thread war ein Post vor demjenigen aus dem Du den Quellcode hattest:

Override elements by script problems
tomas8 21.04.2014
https://forums.adobe.com/thread/1455184

"Marc Autret at his best", gewissermaßen:
https://forums.adobe.com/message/6359335#6359335


als Antwort auf: [#549072]

Gruppierung auflösen

Thaler
Beiträge gesamt: 139

19. Apr 2016, 17:39
Beitrag # 10 von 10
Beitrag ID: #549074
Bewertung:
(5636 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

danke für den wertvollen Hinweis. Ich hatte den Kommentar nicht gelesen )-:

Auf den Bug wäre ich reingefallen.

Gregor


als Antwort auf: [#549073]
X