Hallo zusammen,
ich habe eine XML-Datei aus unserer Datenbank in InDesign (CS 5.5, Windows 7) importiert, um einen vollständigen Produktkatalog zu erzeugen. Vor jeder Produktgruppe wird eine Zwischenüberschrift eingefügt (eigener Textrahmen mit dem Scriptlabel "katalog_untergruppe"), bei einem Seitenumbruch kann es jedoch passieren, dass diese als letztes Element auf der vorhergehenden Seite steht, auf der neuen Seite wird er zusätzlich automatisch neu erzeugt. Diese "letzten" Elemente möchte ich nun über ein Skript in der fertigen Datei suchen und löschen.
Mein erster Ansatz war die Elemente der Seite zu zählen und falls der Textrahmen einen höheren Wert als 40 hat zu löschen. Leider variieren die Inhalte der Seiten zu stark, so bleibt manchmal ein Textrahmen stehen und manchmal wird ein noch benötigter gelöscht. Vielleicht hat einer von Euch eine Lösungsidee.
Danke im vorraus Rike
Hier meine erster Ansatz, vielleicht hilfts:
function test(){
for(var i=0;i<document.allPageItems.length; i++){
if(document.allPageItems[i].label != ""){
//pagestart
if(document.allPageItems[i].label == 'katalog_untergruppe'){
var n= 1;
while(document.allPageItems[i+n].label == ""){
n++;
}
if(n>40){
document.allPageItems[i].remove();
}
}
if(document.allPageItems[i].label == 'katalog_untergruppe' && document.allPageItems[i+1].label == 'pagestart'){
document.allPageItems[i].remove();
}
}
}
}
test();