7 Replies Latest reply on Nov 15, 2017 3:03 AM by Turrican101

    Indesign Skript auch auf Objekte im Übersatzbereich anwenden?

    Turrican101 Level 1

      Hallo,

      ich habe mir ein Script aus dem Netz etwas zurechtgebaut, das Objekte mit einem bestimmten Objektformat sucht und dann die Höhe auf einen bestimmten Wert setzt und die Breite proportional anpasst.

       

      Problem:

      Ich lade XML-Daten aus einer Datenbank in ein bestehendes Layout und es gibt Bilder, bzw. platzierte PDF-Dateien, die manchmal größer sind als der Textrahmen, in dem sie platziert werden. Das verankerte Objekt landet da halt im Übersatzbereich und wird nicht angezeigt. Wenn ich jetzt mein Skript durchlaufen lasse, hält er an so einer Stelle mit einer Fehlermeldung an. Es klappt also nur bei Objekten, die auch im Dokument sichtbar sind, bzw. wenn der Haupttextrahmen groß genug ist.

       

      Gibt es da eine andere Art Abfrage als die hier im Skript, die irgendwie alle Elemente durchsucht, egal ob sie im Dokument sichtbar sind? (nicht zu verwechseln mit ausgeblendeten Ebenen, das ist hier nicht gemeint)

       

      for (a=0; a<app.activeDocument.allPageItems.length; a++)  
      {  
       if (app.activeDocument.allPageItems[a].appliedObjectStyle.name == "OF_TechnischeZeichnung_big")  
       {  
        gb = app.activeDocument.allPageItems[a].geometricBounds;  
      
      change_height = 252;  
      change_width = (gb[3]-gb[1])*(change_height/(gb[2]-gb[0]));
      //neue breite = (alte breite)*(neue höhe / alte höhe)
      
        app.activeDocument.allPageItems[a].geometricBounds = [0, 0, change_height, change_width];  
      
       }  
      }