[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste

Auswahl und Gruppierung von übereinanderliegenden Objekten

faxinger
Beiträge gesamt: 241

23. Jun 2019, 15:10
Bewertung:

gelesen: 4416

Beitrag als Lesezeichen
Hallo ihr lieben Skriptprofis,

ich bin mal wieder am Verzweifeln.
Mir gelingt es nicht 2 Arrays miteinander zu vergleichen.

Mein Ziel:
Wähle alle Objekte mit dem Objektformat "streichung" aus,
wenn über diesem Objekt ein anderes Objekt mit Bild darüber liegt dann gruppiere die beiden und weise dem Skriptetikett der Gruppe den Inhalt des jeweiligen Objekts "streichung" zu.

Ich habe versucht mit Hilfe des Mittelpunktes des Bildes herauszufinden ob das Bild-Objekt über dem "streichung"-Objekt liegt, aber ich weiß nicht wie ich den Mittelpunkt des Bil-Objektes mit dem "streichung"-objekt abgleiche.

Es müssen doch hierbei 2 Arrays durchlaufen werden und abgeglichen werden und hier stehe ich an.

Mein Code bisher:

Code
var _dok = app.documents[0];  
var allGraphics = _dok.allGraphics;

for(var n=0;n<allGraphics.length;n++)
{

if(allGraphics[n].itemLink.name =="Wischer.ai")

{
var _wisch = allGraphics[n].parent;
var _wischgb = allGraphics[n].parent.geometricBounds;
var _wischhalfmiddle = ((_wischgb[3]-_wischgb[1])/2);
var _wischmiddle = _wischgb[1] + _wischhalfmiddle;
}
var nameOfObjectStyle = "streichung";
var allStories = _dok.stories.everyItem().getElements();
var objectStyle = _dok.objectStyles.itemByName(nameOfObjectStyle);

for(var k=0;k<allStories.length;k++)
{
var textContainers = allStories[k].textContainers;

// Loop all text containers of a particular story:
for(var c=0;c<textContainers.length;c++)
{
var _spgb = textContainers[c].geometricBounds;
if (_wischmiddle > _spgb[1] && _wischmiddle < _spgb[3])
{groups.add([_wisch, textContainers[c]])}
}
}
}



Im Anhang sende ich auch noch eine idml zur besseren Veranschaulichung.

Gibt es einen besseren Weg herauszufinden ob ein Objekt (sichtbar)über dem anderen liegt als zu fragen ober der Mittelpunkt des oberen Objektes innerhalb der geometricbounds des anderen Objektes liegt?

Wie kann ich diese dann gruppieren?

Ps. Vielleicht muss ich die Textcontainer gar nicht über die stories angreifen und könnte mir so eine Schleife sparen?

Vielen Dank
LG
faxinger

(Dieser Beitrag wurde von Urs Gamper am 24. Jun 2019, 08:56 geändert)

Anhang:
gruppierung_test.idml (99.0 KB)
Änderungsverlauf:
Beitrag geändert von Urs Gamper (il padrone) am 24. Jun 2019, 08:56
Hier Klicken

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
19.12.2019

Ortsunabhängig
Donnerstag, 19. Dez. 2019, 10.00 - 10.30 Uhr

Webinar

Wir stellen Ihnen anhand konkreter Workflows die Möglichkeiten und Vorteile einer automatischen PDF-Prüfung und -Korrektur vor.

halbstündig, kostenlos

Ja

Organisator: Impressed GmbH

Kontaktinformation: Detlef Grimm, E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=113

Switch PDF Automation Server
Veranstaltungen
09.01.2020

Ortsunabhängig
Donnerstag, 09. Jan. 2020, 10.00 - 10.30 Uhr

Webinar

Wir zeigen Ihnen in diesem ca. halbstündigen kostenlosen Wewbinar, wie Sie mit der pdfToolbox im Handumdrehen PDF-Dateien überprüfen, korrigieren und für verschiedene Druckbedingungen aufbereiten können.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Detlef Grimm, E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=281

callas pdfToolbox 11
Hier Klicken