[GastForen Programme Print/Bildbearbeitung Adobe InDesign Leere Textrahmen suchen und löschen

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

Leere Textrahmen suchen und löschen

Christo
Beiträge gesamt: 42

16. Sep 2008, 23:14
Beitrag # 1 von 20
Bewertung:
(10935 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo zusammen,
gibt es eine Möglichkeit, in ID CS3 (Mac) über eine Suchabfrage leere Textrahmen in einem Dokument zu finden u. ggf. zu löschen? Wenn ich es richtig sehe, "verstecken" sich darin gern mal Formatvorlagen, die eigentlich nicht benutzt werden – deshalb wäre ich die leeren Rahmen gern los.
Danke für die Hilfe.
Gruß Christo
X

Leere Textrahmen suchen und löschen

Gerald Singelmann
  
Beiträge gesamt: 6193

16. Sep 2008, 23:41
Beitrag # 2 von 20
Beitrag ID: #366368
Bewertung:
(10922 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das hier sollte funktionieren:

Code
main(); 

function main() {
var allStories = app.activeDocument.stories;
var noSwatch = app.activeDocument.swatches[0];
for (var n = allStories.length; n > 0; n--) {
var aStory = allStories[n-1];
if (aStory.contents.length == 0) {
var allFrames = aStory.textContainers;
for (var m = allFrames.length; m > 0; m--) {
var aFrame = allFrames[m-1];
if (aFrame.fillColor == noSwatch && aFrame.strokeColor == noSwatch) {
aFrame.remove();
} else {
aFrame.contentType = ContentType.UNASSIGNED;
}
}
}
}
}


Das Script untersucht die Stories, nicht die Textrahmen.
Wenn eine Story nicht leer ist, werden alle ihre Rahmen nicht angefasst.
Wenn ein Rahmen leer ist, aber eine Farbe in Füllung oder Kontur hat, wird er in eine "nicht zugewiesene" Fläche umgewandelt.
Wenn ein leerer, farbloser Textrahmen eine Konturenführung hat, wird er derzeit trotzdem gelöscht. (Da habe ich eben nicht dran gedacht).


als Antwort auf: [#366366]

Leere Textrahmen suchen und löschen

Christo
Beiträge gesamt: 42

16. Sep 2008, 23:56
Beitrag # 3 von 20
Beitrag ID: #366369
Bewertung:
(10913 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke für die schnelle Antwort zu später Stunde! Leider habe ich mit Scripts überhaupt keine Erfahrung. Was muss ich mit dem Code machen, damit ich das Script benutzen kann?
Gruß Christo


als Antwort auf: [#366368]

Leere Textrahmen suchen und löschen

Ralf Hobirk
Beiträge gesamt: 5808

17. Sep 2008, 00:22
Beitrag # 4 von 20
Beitrag ID: #366372
Bewertung:
(10903 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
http://hilfdirselbst.org/...rn&read_group=17

---
Viele Grüße aus Istrien Cool
Ralf
---
iMac i7 (12,2) 3,4 GHz, 16 GB | MacBook Pro 15" (8,2) 2,0 GHz, 16 GB | Mac Mini (3,1) als Server 2,53 GHz, 8 GB | 10.11.6 El Capitan | CS6 (ID 8.0.1)


als Antwort auf: [#366369]
(Dieser Beitrag wurde von mediteran am 17. Sep 2008, 00:22 geändert)

Leere Textrahmen suchen und löschen

Christo
Beiträge gesamt: 42

17. Sep 2008, 00:59
Beitrag # 5 von 20
Beitrag ID: #366376
Bewertung:
(10889 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ mediteran ] http://hilfdirselbst.org/...rn&read_group=17


Vielen Dank! Jetzt weiß ich auch, wo ich suchen muss ;-)
Klappt alles bestens.
Gruß Christo


als Antwort auf: [#366372]

Leere Textrahmen suchen und löschen

OliverM.
Beiträge gesamt:

17. Sep 2008, 07:25
Beitrag # 6 von 20
Beitrag ID: #366381
Bewertung:
(10837 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Gerald Singelmann ] Das hier sollte funktionieren:


Da kommt man morgens ins Büro und findet so ein tolles Skript.

Vielen Dank, Herr Singelmann!


als Antwort auf: [#366368]

Leere Textrahmen suchen und löschen

Martin Fischer
  
Beiträge gesamt: 11878

17. Sep 2008, 08:20
Beitrag # 7 von 20
Beitrag ID: #366389
Bewertung:
(10821 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Als Ergänzung zu Geralds Skript, das der Anfrage vollkommen gerecht wird, hier ein Skript, das ich gerne benutze, um nach dem Import und der Vorformatierung von Mengentexten leere Textrahmen und leere Seiten zu löschen:

Code
// removeEmptyFramesAndEmptyPages.jsx 
//DESCRIPTION: Löscht leere Textrahmen und leere Seiten

var myStories = app.documents[0].stories;
for ( var oneStory = 0; oneStory < myStories.length; oneStory++ )
deleteEmptyFrames( myStories[oneStory] );
deleteEmptySpreads();
deleteEmptyPages();


// leere Textrahmen löschen
function deleteEmptyFrames( theStory )
{
var myFrame = theStory.insertionPoints[-1].parentTextFrames[0];
// leere Kette verknüpfter Textrahmen oder einzelner leerer Textrahmen
if ( myFrame.insertionPoints.length == 1 )
for ( var t = theStory.textContainers.length-1; t >= 0; t-- )
theStory.textContainers[t].remove();
else // Textrahmenkette mit leeren Textrahmen am Ende
{
try {
while ( myFrame.nextTextFrame != null )
myFrame.nextTextFrame.remove()
}
catch( e ) {}
}
}

// lösche leere Druckbogen
function deleteEmptySpreads()
{
for ( var s = app.activeDocument.spreads.length-1; s > 0; s-- ) {
if ( app.activeDocument.spreads[s].pageItems.length == 0 )
app.activeDocument.spreads[s].remove();
}
}

// lösche leere Seiten
function deleteEmptyPages()
{
for ( var p = app.activeDocument.pages.length-1; p >= 0; p-- ) {
if ( app.activeDocument.pages[p].pageItems.length == 0 )
app.activeDocument.pages[p].remove();
}
}


Hat ein Textabschnitt nur einen Einfügepunkt (d.h. ist nichts in ihm enthalten als ein einziger Einfügepunkt) werden alle Textrahmen, über den sich dieser Textabschnitt erstreckt, gelöscht.

Andernfalls wird geprüft, ob nach dem Textrahmen, in dem der letzte Einfügepunkt des Textabschnitts sich befindet, sich noch weitere Textrahmen (die dann leer sind) befinden. Diese werden ggf. gelöscht.

Anschließend werden zunächst alle Druckbogen geprüft, ob Elemente vorhanden sind.
Wenn nicht, wird der entsprechende Druckbogen gelöscht.
In einem weiteren Durchgang werden alle leere Seiten gelöscht.


Das Löschen der leeren Druckbogen gefolgt von dem Löschen der leeren Seiten hört sich doppelt gemoppelt an. Warum löscht das Skript nicht gleich die leeren Seiten?

Bei doppelseitigem Layout werden nach dem Löschen von einzelnen Seiten die Druckbogen mit linken und rechten Seiten neu arrangiert. Da verbraucht das Löschen von zwei einzelnen Seiten eines Druckbogens deutlich mehr Zeit als das Löschen des Druckbogens mit zwei Seiten auf einen Schlag.
Wg. dem mgl. Neuarrangieren der Seiten wird auch der erste Druckbogen, der bei mir meist aus einer einzelnen rechten Seite besteht, zunächst nicht gelöscht.

Bei Bedarf kann der Funktionsaufruf von deleteEmptyPages(); auskommentiert werden (// deleteEmptyPages();), um ihn zu unterdrücken.

Viele Grüße
Martin


als Antwort auf: [#366368]

Leere Textrahmen suchen und löschen

Quarz
Beiträge gesamt: 3269

17. Sep 2008, 13:10
Beitrag # 8 von 20
Beitrag ID: #366463
Bewertung:
(10783 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

Danke :-)

Ich habe mir 2 Scripte draus gemacht, um sie mal zu testen.
›Vorsichtig ist die Mutter der Prozellankiste.‹

Gruß
Quarz

------------------------
WinXP | CS3


als Antwort auf: [#366389]

Leere Textrahmen suchen und löschen

Martin Fischer
  
Beiträge gesamt: 11878

17. Sep 2008, 13:16
Beitrag # 9 von 20
Beitrag ID: #366466
Bewertung:
(10779 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Quarz,

Zitat Ich habe mir 2 Scripte draus gemacht, um sie mal zu testen.

Was machen die beiden einzelnen Skripte?

Löscht eins die Druckbogen und das andere die Seiten?

Oder löscht das eine die leeren Textrahmen und das andere die leeren Seiten?

Zitat ›Vorsichtig ist die Mutter der Prozellankiste.‹

Du meinst, ich sei ein Elefant?

Viele Grüße
Martin


als Antwort auf: [#366463]

Leere Textrahmen suchen und löschen

Quarz
Beiträge gesamt: 3269

17. Sep 2008, 13:23
Beitrag # 10 von 20
Beitrag ID: #366476
Bewertung:
(10776 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

um Gottes Willen, du bist doch kein Elefant. -
So elegant wie Du Dich durch das Forum bewegst.

Also - eins löscht leere Textrahmen und Seiten.
(Wie oben gepostet.)
Das andere löscht keine leeren Seiten.
(Wie oben gepostet.)

Gruß
Quarz

------------------------
WinXP | CS3


als Antwort auf: [#366466]

Leere Textrahmen suchen und löschen

Christo
Beiträge gesamt: 42

18. Sep 2008, 15:12
Beitrag # 11 von 20
Beitrag ID: #366701
Bewertung:
(10705 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Gerald Singelmann ] Das hier sollte funktionieren:

Code
main(); 

function main() {
var allStories = app.activeDocument.stories;
var noSwatch = app.activeDocument.swatches[0];
for (var n = allStories.length; n > 0; n--) {
var aStory = allStories[n-1];
if (aStory.contents.length == 0) {
var allFrames = aStory.textContainers;
for (var m = allFrames.length; m > 0; m--) {
var aFrame = allFrames[m-1];
if (aFrame.fillColor == noSwatch && aFrame.strokeColor == noSwatch) {
aFrame.remove();
} else {
aFrame.contentType = ContentType.UNASSIGNED;
}
}
}
}
}


Das Script untersucht die Stories, nicht die Textrahmen.
Wenn eine Story nicht leer ist, werden alle ihre Rahmen nicht angefasst.
Wenn ein Rahmen leer ist, aber eine Farbe in Füllung oder Kontur hat, wird er in eine "nicht zugewiesene" Fläche umgewandelt.
Wenn ein leerer, farbloser Textrahmen eine Konturenführung hat, wird er derzeit trotzdem gelöscht. (Da habe ich eben nicht dran gedacht).


Nachdem das jetzt so toll funktioniert habe ich noch eine Frage zu einem (eher kosmetischen) Problem dabei: Etliche der leeren Textrahmen waren mit einem zweiten, nicht leeren Rahmen gruppiert. Nachdem der leere Rahmen weg ist, ist der verbliebene Rahmen noch gruppiert (die Gruppe besteht aus nur dem einen Objekt - wusste nicht, dass das überhaupt möglich ist). Kann man diese speziellen "Gruppen" selektieren und ungruppieren? Wie gesagt, eher kosmetisch -also nicht wirklich dringend.
Gruß Christo


als Antwort auf: [#366368]

Leere Textrahmen suchen und löschen

Gerald Singelmann
  
Beiträge gesamt: 6193

18. Sep 2008, 16:21
Beitrag # 12 von 20
Beitrag ID: #366720
Bewertung:
(10690 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das ist interessant.
Klar kann man das beheben. Man muss nur alle Gruppen kontrollieren bzw. vor dem Löschen eines Rahmens checken, ob der Parent eine Gruppe ist.
Das mache ich aber nicht mehr heute.. ;)


als Antwort auf: [#366701]

Leere Textrahmen suchen und löschen

Jochen Uebel
Beiträge gesamt: 3196

18. Sep 2008, 21:21
Beitrag # 13 von 20
Beitrag ID: #366765
Bewertung:
(10665 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Christo ] die Gruppe besteht aus nur dem einen Objekt

Das nimmt auch mich wunder. Woran erkenne ich optisch, dass dieses Einzelobjekt noch eine Gruppe ist? Wenn die Antwort lautet: "An dem gestrichelten Begrenzungsrahmen", dann würde ich mangels Einblick in den Monitor vorsichtig zurückfragen: "Wirklich gestrichelt? Nicht punktiert?" Ggf. eine echte Gruppe danebenstellen.
Grüße, Jochen


als Antwort auf: [#366701]

Leere Textrahmen suchen und löschen

Gerald Singelmann
  
Beiträge gesamt: 6193

18. Sep 2008, 22:09
Beitrag # 14 von 20
Beitrag ID: #366772
Bewertung:
(10658 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ach Jochen, probier's lieber aus, bevor du jemand anderen für inkompetent hältst.


als Antwort auf: [#366765]
Anhang:
Bild 3.png (7.23 KB)

Leere Textrahmen suchen und löschen

Jochen Uebel
Beiträge gesamt: 3196

18. Sep 2008, 22:33
Beitrag # 15 von 20
Beitrag ID: #366776
Bewertung:
(10648 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Gerald Singelmann ] Ach Jochen, probier's lieber aus, bevor du jemand anderen für inkompetent hältst.

Schlechten Tag gehabt? ;-)
Ich habe vorsichtig >gefragt<!
Leider trifft es Christo heute gleich zum zweiten Mal. Auch sein Synchro-Beitrag hier http://www.hilfdirselbst.ch/...i?post=366716#366716 will mir vorerst noch nicht einleuchten.
Hoffe sehr, dass wenigstens er sich nicht als inkompetent behandelt fühlt. Auf meiner Seite jedenfalls: keinerlei Intention in diese Richtung.

Nochmal zur Sache: Der Effekt – ein einzelnes Objekt ist Gruppe – lässt sich nur via Skript erzeugen? Händisch will’s nicht gelingen.
Grüße, Jochen


als Antwort auf: [#366772]
X

Veranstaltungen

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen. pdf-icon Hier eine kleine Anleitung.

Veranstaltungen
25.10.2018

Hamburg
Donnerstag, 25. Okt. 2018, 10.39 Uhr

Seminar

Viele Funktionen, für die früher Illustrator benötigt wurde, finden sich heute auch in InDesign. Angefangen bei den Pfadwerkzeugen, mit denen sich Linien und Bezier-Pfade zeichnen lassen, über die regulären Zeichenwerkzeuge für Rahmen und Linien bis hin zum Pathfinder, der Vektorobjekte zerschneiden, verbinden und kombinieren kann: InDesign bietet eine Vielzahl von Vektorgrafik-Werkzeugen, mit denen sich auch komplexe Vektorgrafiken erstellen lassen.

München, Donnerstag, 25.10.2018, Seminargebühr 415,31 (inkl. 19% MwSt), 9.30 Uhr bis 17.30 Uhr

Ja

Organisator: Cleverprinting

Vektorgrafik mit Adobe InDesign und Illustrator
Veranstaltungen
25.10.2018

Schule für Gestaltung Zürich
Donnerstag, 25. Okt. 2018, 17.00 - 19.30 Uhr

Seminar

Folgenden Fragen gehe ich – gemeinsam mit Ihnen – während des Seminars auf den Grund: – Sind heutige Farbsysteme auf crossmediale Ausgaben ausgerichtet? – Wie definiert man Farben für den Einsatz in Office- und Direktmarketing-Softwaren? – Welche Farb-Definitionen muss ein heutiges, crossmediales Corporate-Design beinhalten? – Braucht es dazu neue Systeme und Workflows? – Existieren Hilfsmittel für den crossmedialen Datenaustausch (freieFarbe)? – Ist CMYK in heutigen digitalen Produktionen noch sinnvoll und von Vorteil? – Was ist qualitativ besser – verfahrensangepasst oder ausgabeneutral?

Donnerstag, 25. Oktober 2018, von 17.00 Uhr bis 19.30 Uhr
mit anschliessendem Apéro

viscom-Mitglied: Kostenlos
Nichtmitglied: CHF 250.00, zuzüglich MwSt.

Ja

Organisator: viscom

http://www.viscom.ch/?name=agenda&veranstaltungid=854&datum=25.10.2018&suche=1