Bild auf Blitzer prüfen

Es gab leider schon länger keinen Post mehr weil ich gerade intensiv an einem Buchprojekt zum Thema InDesign Automation arbeite. Infos dazu gibt es dann natürlich auch hier. Ein kleines aber feines Skript möchte ich doch kurz vorstellen.

Seit InDesign CS4 gibt ist ein automatisches Preflight (Aufruf über Fenster -> Ausgabe -> Preflight oder in der Statuszeile). Man kann allerlei nützliche Dinge während der Bearbeitung von  Dokumenten live prüfen lassen. Ich nutze gerne die Prüfungen auf Auflösung und Farbraum. Eine Prüfung nach Blitzern, also einem Versatz zwischen Bildrahmen und eigentlichen Bild, gibt es leider nicht.

Per Skript ist es ein leichtes – leider nicht Live und auch nur für rechteckige Rahmen. Letztere Einschränkung sollte in den meisten Fällen kein Problem sein.

Das Skript geht im in einer for-Schleife durch alle Bilder des Dokuments:

var _alleBilder = _dok.allGraphics;
for (var i = 0; i < _alleBilder.length; i++) {
 var _bild = _alleBilder[i];
 var _bildRahmen = _bild.parent;
  // Prüfung ...
}

Jedes Bild muss dann an allen vier Kanten auf Versatz geprüft werden. Exemplarisch für die Oberkante sieht das so aus:

if (_bild.geometricBounds[0] > _bildRahmen.geometricBounds[0]) {
  _fehlerMeldung= "Vertikaler Versatz oben\n";
  _fehler = true;
}

Wenn die y-Koordinate (geometricBounds[0]) vom eigentlichen Bild größer als die des Bildrahmens ist, gibt es einen Blitzer.

Das Skript vollständige Skript sollte ab CS3 unter allen InDesign Verisonen laufen. Hier kann es heruntergeladen werden: BilderaufBlitzerPruefen