Antworten auf deine Fragen:
Neues Thema erstellen

Leere Bildrahmen entfernen Indesign

liselotte

Bärliner Jung

Hallo Leute,
weiß jemand wie ich dieses script umschreiben kann, damit ich nur die leeren Bildrahmen (aus der Datenzusammenführung) entfernen kann?
Das angehängte script ist von G.Singelmann und entfernt nur leere Textrahmen (ist ein Javascript)

Code:
main();
function main() {
    var theDoc = app.activeDocument;
    var theFrames = theDoc.textFrames;
    for (var n = theFrames.length-1; n >=0 ;n--) {
        if (theFrames[n].contents == "") {
            theFrames[n].remove();
        }
    }
}

Eine andere Lösung wäre mir auch genehm.
Vielen Dank im voraus
MfG

Bin dann mal kurz weg
 
Zuletzt bearbeitet:

Design & Layout

Das wäre eine recht simple Skript-Variante, die leere Bildrahmen löscht. (Aber nur dann, wenn diese leeren Bildrahmen Rechtecke sind.)

Vielleicht reicht das ja schon (leider verfügt das Forum immer noch nicht über eine JS-Auszeichnung) :
PHP:
main();
function main() {
    var theGraphicFrames = app.activeDocument.rectangles;
    for (i=theGraphicFrames.length-1; i>=0; i--) {
        if (theGraphicFrames[i].graphics.length < 1) {
            theGraphicFrames[i].remove();
        }
    }
}

Viel Spass noch
;)
 
Das wäre eine recht simple Skript-Variante, die leere Bildrahmen löscht. (Aber nur dann, wenn diese leeren Bildrahmen Rechtecke sind.)
Vielleicht reicht das ja schon (leider verfügt das Forum immer noch nicht über eine JS-Auszeichnung) :
PHP:
main();
function main() {
var theGraphicFrames = app.activeDocument.rectangles;
for (i=theGraphicFrames.length-1; i>=0; i--) {
if (theGraphicFrames[i].graphics.length < 1) {
theGraphicFrames[i].remove();
}
}
}

Viel Spass noch
;)

@Stefan hat heute ein bisschen an der Forensoftware „gedreht“. Jetzt funktioniert endlich auch eine Javascript-Auszeichnung. Vielen Dank dafür.
Javascript:
main();
function main() {
    var theGraphicFrames = app.activeDocument.rectangles;
    for (i=theGraphicFrames.length-1; i>=0; i--) {
        if (theGraphicFrames[i].graphics.length < 1) {
            theGraphicFrames[i].remove();
        }
    }
}
 
Noch kurz zwei Zugaben, die sich durch den Nachbarthread:
http://www.psd-tutorials.de/forum/threads/bildrahmen-loeschen-bei-datenzusammenfuehrung.164212/ ergeben haben.
Eine Variante von Hans Haesler von HDS entfernt auch leere Bildrahmen, selbst wenn diese sich als verankerte Objekte im Textfluss oder auch in Tabellen befinden:
Javascript:
var allFrames = app.activeDocument.allPageItems;
for (var n=allFrames.length-1; n>=0; n--) {
    if (allFrames[n].constructor.name == "Rectangle") {
        if (allFrames[n].graphics.length < 1) {
            allFrames[n].remove();
        }
    }
}

Darauf aufbauend und als kleine Vorsichtsmassnahme habe ich noch eine weitere Schleife eingebaut, die leere Bildrahmen nicht löscht, sobald diese mit einer Flächen- oder Rahmenfarbe versehen sind. So sollten „schmückende Rechteckelemente" vor dem sehr eifrigem Löschen-Skript verschont bleiben.
Hier die etwas schonendere Variante basierend auf Hans Haeslers Skriptschnipsel:
Javascript:
// entfernt leere rechteckige Bildrahmen in InDesign-Dokumenten
// basieren auf einer Version von Hans-Haesler
// löscht aber keine Bildrahmen
// die eine Flächen- und/oder Konturfarbe besitzen

// pixxxelschubser

var allFrames = app.activeDocument.allPageItems;
for (var n=allFrames.length-1; n>=0; n--) {
if (allFrames[n].constructor.name == "Rectangle" ) {
if (allFrames[n].graphics.length < 1) {
if (allFrames[n].fillColor.name == "None" && allFrames[n].strokeColor.name == "None") {
allFrames[n].remove();
}
}
}
}

Wie immer gilt:
Skripte immer zuerst an Kopien und nie an Originaldateien testen

Viel Spass
;)
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.635
Beiträge
1.538.454
Mitglieder
67.558
Neuestes Mitglied
StarsMan
Oben