[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Check, ob Textrahmen leer ist

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Print/Bildbearbeitung - Photos, Layout, Design
Themen
Beiträge
Moderatoren
Letzter Beitrag

Check, ob Textrahmen leer ist

Gerald Singelmann
  
Beiträge gesamt: 6269

30. Nov 2022, 18:30
Beitrag # 1 von 3
Bewertung:
(2273 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ich hatte grad das Problem, dass ich wissen wollte, ob ein Textrahmen leer ist

(Das ist z.B. eine relevante Frage, wenn man so lange neue Textrahmen erstellen und verketten will, bis der Text platziert ist. Das gibt eine Endlosschleife, wenn da was im Text ist, was in keinen Rahmen passt. Das kann man abfangen, indem man nach dem Verketten checkt, ob der neue Rahmen leer ist.)

Aber wie findet man das raus? Es gibt m.W. keine textFrame.isEmpty Property.

Aber: Ein leerer Textrahmen kann nicht in Pfade umgewandelt werden. (Siehe Screenshot)

Also ist mein Lösungsvorschlag:

Code
function is_empty_textframe( tf ) { 
var dup = tf.duplicate();
try {
var ol = dup.createOutlines();
for ( var n = ol.length-1 ; n >= 0; n-- ) ol[n].remove();
return false;
} catch(e) {
$.writeln( e );
dup.remove();
return e.message == "NoPathCreated"
}
}


Weiß jemand einen besseren Ansatz?

Anhang:
empty-frame.png (67.2 KB)
X

Check, ob Textrahmen leer ist

MarioF
Beiträge gesamt: 389

1. Dez 2022, 10:10
Beitrag # 2 von 3
Beitrag ID: #585029
Bewertung:
(2203 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,
kommt man nicht hiermit ran?
Code
tf.contents == "" 



als Antwort auf: [#585019]

Check, ob Textrahmen leer ist

Martin Fischer
  
Beiträge gesamt: 12778

1. Dez 2022, 10:29
Beitrag # 3 von 3
Beitrag ID: #585030
Bewertung:
(2190 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vorsicht bei Tabellen, die am Ende eines Textabschnitts über mehrere Textrahmen laufen.

Vielleicht besser (ist Blaue hinein):
Code
tf.insertionPoints.length == 0 


Kombiniert mit einer Abfrage nach Übersatz.


als Antwort auf: [#585029]