[GastForen Programmierung/Entwicklung JavaScript alle Textrahmen in einem Indesign-Dokument markieren

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

alle Textrahmen in einem Indesign-Dokument markieren

karla123
Beiträge gesamt: 6

27. Apr 2018, 11:51
Beitrag # 1 von 11
Bewertung:
(4260 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo liebes Forum,
ich bin eine ganz "neue" und "unerfahrene" Javascript´lerin
Meine Frage an euch ist folgende:
ist es per JavaScript möglich in InDesign 6 oder höher alle Textrahmen zu markieren bzw. zu aktivieren??
Betriebssystem ist Windows 7

Vielen Dank im Vorraus

LG Karla

(Dieser Beitrag wurde von karla123 am 27. Apr 2018, 11:52 geändert)
Hier Klicken X

alle Textrahmen in einem Indesign-Dokument markieren

Uwe Laubender
Beiträge gesamt: 4341

27. Apr 2018, 12:10
Beitrag # 2 von 11
Beitrag ID: #563609
Bewertung:
(4248 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Karla,
im Sinne einer Auswahl, so wie Du das mit den Menübefehlen machen kannst, ist das nicht möglich, wenn mehrere Druckbogen verwendet werden.

Aber ansteuern lassen sich alle Textrahmen schon. Die Frage ist nur, was Du dann mit den Textrahmen vorhast. Das muss dann auch das Skript erledigen.

Beispiel um alle Textrahmen und Textpfade ( zusammengefasst sind das TextContainers ) aller Stories in der Datei in ein Array zu speichern:

Code
// Das aktive Dokument: 
var doc = app.documents[0];
// Alle Stories in ein Array schreiben:
var allStories = doc.stories.everyItem().getElements();
// Leeres Array, das alle text containers aufnehmen soll:
var textContainersArray = [];

// Schleife durch das Array aller Stories:
for(var n=0;n<allStories.length;n++)
{
textContainersArray = textContainersArray.concat(allStories[n].textContainers);
};

// Beispielanwendung. Färbt alle Textrahmen mit Farbe "Yellow":

for(var n=0;n<textContainersArray.length;n++)
{
// Ist der text container ein Textrahmen? Falls ja, fülle mit Farbe:
if( textContainersArray[n].constructor.name == "TextFrame" )
{textContainersArray[n].fillColor = doc.colors.itemByName("Yellow") }
};


Es werden wirklich alle Textrahmen erreicht. Auch die verankerten, auch Textrahmen außerhalb der Seiten und auf Musterseiten. Und ebenfalls Textrahmen, die sich in Gruppen befinden oder gar in irgendwelchen Status von Multistatus-Objekten.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#563608]

alle Textrahmen in einem Indesign-Dokument markieren

karla123
Beiträge gesamt: 6

27. Apr 2018, 13:12
Beitrag # 3 von 11
Beitrag ID: #563611
Bewertung:
(4231 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Lieber Uwe, vielen Dank für Deine sehr schnelle Antwort!!
Der Hintergrund meiner Anfrage war: ich habe ein Script aus dem Netz runtergeladen welches einen Vertikalen Keil in einem Dokument anwendet und die Abstände nur in den Absätzen und Überschriften verteilt.
Dieses Script wurde von Martin Fischer hier im Forum erzeugt (vertikalerKeil_xxxl.jsx). Bei dem Script muß ein Textrahmen ausgewählt sein.
Nun habe ich in meinem "jugendlichen Leichtsinn" gedacht vorher ein Script laufen zu lassen welches alle Textrahmen markiert und das Script ist für das gesamte Dokument anzuwenden.

Wenn ich das jetzt richtig verstanden habe ist es nicht möglich alle Textrahmen per Script in einem Dokument zu markieren?!

Lieben Gruß und vielen Dank

Karla


als Antwort auf: [#563609]

alle Textrahmen in einem Indesign-Dokument markieren

Uwe Laubender
Beiträge gesamt: 4341

27. Apr 2018, 14:06
Beitrag # 4 von 11
Beitrag ID: #563619
Bewertung:
(4227 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf:
Wenn ich das jetzt richtig verstanden habe ist es nicht möglich alle Textrahmen per Script in einem Dokument zu markieren?!


Das schon, aber Einstellungen, die den verikalen Keil betreffen, lassen sich trotzdem ansprechen.

Beispiel:

Code
for(var n=0;n<textContainersArray.length;n++)  
{
// Ist der text container ein Textrahmen? Falls ja, ändere die Einstellungen den Vertikalen Keil betreffend:
if( textContainersArray[n].constructor.name == "TextFrame" )
{
// Vertikaler Keil einstellen:
textContainersArray[n].textFramePreferences.verticalJustification = VerticalJustification.JUSTIFY_ALIGN;

// Maximaler Wert zwischen zwei Absätzen. Wert bitte selbst eintragen:
textContainersArray[n].textFramePreferences.verticalThreshold = "???";
}
};

*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#563611]

alle Textrahmen in einem Indesign-Dokument markieren

karla123
Beiträge gesamt: 6

27. Apr 2018, 14:26
Beitrag # 5 von 11
Beitrag ID: #563621
Bewertung:
(4223 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo lieber Udo!! Vielen Dank für dein bisherige Mühe!!
Das Script meldet bei mir einen Fehler: Fehlerzeichenfolge: "textContainersArray is undefined" in Zeile 1.

Würdest du mir bitte einmal erklären was dieses Script macht?

Vielen Dank
Lieben Gruß Karla


als Antwort auf: [#563619]

alle Textrahmen in einem Indesign-Dokument markieren

Uwe Laubender
Beiträge gesamt: 4341

27. Apr 2018, 14:30
Beitrag # 6 von 11
Beitrag ID: #563622
Bewertung:
(4222 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Karla,
der letzte Code-Schnipsel mit der Schleife war als Austausch für einen Teil des ersten Scripts gedacht. Die Definition von textContainersArray ist meinem ersten vollständigen Script erfolgt.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#563621]

alle Textrahmen in einem Indesign-Dokument markieren

karla123
Beiträge gesamt: 6

27. Apr 2018, 14:41
Beitrag # 7 von 11
Beitrag ID: #563623
Bewertung:
(4219 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,
nun bekomme ich die Fehlermeldung [n].textFramePreferences.verticalThreshold = "???";
Ich habe den neuen Code-Schnipsel in dem Script ersetzt.
??
Vielen Dank und Gruß
Karla


als Antwort auf: [#563622]

alle Textrahmen in einem Indesign-Dokument markieren

Uwe Laubender
Beiträge gesamt: 4341

27. Apr 2018, 14:47
Beitrag # 8 von 11
Beitrag ID: #563624
Bewertung:
(4219 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Dazu hatte ich im Code die Bemerkung hinterlassen, dass Du einen geeigneten Wert selbst einsetzen sollst :-)
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#563623]

alle Textrahmen in einem Indesign-Dokument markieren

karla123
Beiträge gesamt: 6

27. Apr 2018, 14:57
Beitrag # 9 von 11
Beitrag ID: #563625
Bewertung:
(4215 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Uwe,

ja man sollte alles Lesen!!! Es funktioniert perfekt!!!!

Vielen Dank

Einen lieben Gruß und ein schönes Wochenende wünsche ich Dir!!

Karla


als Antwort auf: [#563624]

alle Textrahmen in einem Indesign-Dokument markieren

karla123
Beiträge gesamt: 6

2. Mai 2018, 08:37
Beitrag # 10 von 11
Beitrag ID: #563688
Bewertung:
(3657 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo lieber Uwe,

ich noch einmal. Hoffe du hattest ein schönes Wochenende?!
Habe noch einmal mich mit dem Script beschäftigt und noch eine Frage dazu.
Ist es möglich den Vertikalen Keil so anzupassen das er nur auf Absätze und Überschriften wirkt? Also nicht zwischen den Zeilen??

Über eine Antwort würde ich mich freuen!

Lieben Gruß und vielen Dank


als Antwort auf: [#563625]

alle Textrahmen in einem Indesign-Dokument markieren

Uwe Laubender
Beiträge gesamt: 4341

2. Mai 2018, 19:22
Beitrag # 11 von 11
Beitrag ID: #563729
Bewertung:
(3605 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Karla,
Du meinst, dass der Abstand nur auf die Absatzzwischenräume verteilt wird?
Ja geht. Du musst den Wert für den maximalen Absatzabstand relativ hoch einstellen.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#563688]
Hier Klicken X
Hier Klicken

Aktuell

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.04.2019

PDF-Preflight, PDF-Editierung und Automatische Korrektur von PDF-Dateien

Impressed GmbH, Hamburg
Donnerstag, 25. Apr. 2019, 10.00 - 10.30 Uhr

Webinar

In diesem ca. halbstündigen kostenlosen Webinar stellen wir Ihnen die Neuerungen in der Version 2018 von Enfocus PitStop Pro vor.

Ja

Organisator: Impressed GmbH

Kontaktinformation: Detlef Grimm, E-Mailschulungen AT impressed DOT de

https://www.impressed.de/schulung.php?c=sDetail&sid=249

Enfocus PitStop 2018
Veranstaltungen
26.04.2019

Äh, der Kunde hat leider kein InDesign… Aber Office!

HUSS-MEDIEN GmbH
Freitag, 26. Apr. 2019, 17.00 - 20.00 Uhr

Vortrag

Willkommen zur ersten IDUGB im Jahr 2019. Und gemäß Heikes Ansatz, dass die IDUG „mehr als InDesign“ ist, schauen wir dieses Mal ein wenig über den Tellerrand. Okay, auch wenn wir gern über Office lächeln: Es muss jetzt mal sein Egal was man von Office hält, als InDesign-Anwender*in kommt man immer wieder in Kontakt zu Word, Excel und PowerPoint. Es fängt bei Texten und Tabellen an, die in InDesign verarbeitet werden wollen, bis hin zu PowerPoint-Vorlagen im Corporate Design, die Kunden bestellen. Teil 1: Was kann Office alles, was können wir eventuell nutzen? Keine Angst: Ihr müsste jetzt nicht zum Office-Crack werden. Dann dafür gibt es ja Leute, wie Stephan! Er wird euch helfen, zeigt euch im ersten Teil des Abends maßgeblich, was Office so alles kann, was aber auch nicht. Es geht um ganz klassische Frage von InDesigner*innen – gibt es Grundlinienraster, Schnittmasken oder Sonderfarben? Daneben gib es aber auch Grundlegendes, z.B. wie man überhaupt mit der Arbeit in Office loslegt, wo man wichtige Einstellungen findet und wie dieses Office überhaupt so tickt. Wenn Ihr also mal Dokumentenvorlagen für Kunden gestaltet, kennt ihr schon die Möglichkeiten und könntet schon während der Gestaltungsphase auf die Besonderheiten eingehen. Aber Keine Angst, es gibt immer noch genug für uns in InDesign zu tun!

Vollständige Informationen und Anmeldung via https://idug-berlin.de/idugb44/

Ja

Organisator: InDesign User Group Berlin

Kontaktinformation: InDesign User Group Berlin, E-Mailmail AT idug-berlin DOT de

https://idug-berlin.de