[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Text nach Auszeichnungen durchsuchen

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

Text nach Auszeichnungen durchsuchen

Stefan Oe
Beiträge gesamt: 42

16. Jun 2012, 13:20
Beitrag # 1 von 4
Bewertung:
(1637 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo, ich arbeite mit InDesign CS5 auf Mac OSX 10.5.8.

Das Skript »cStyleBasedOnFont.jsx« möchte ich dahingehend verändern, dass ein Dokument Wort für Wort nach unterschiedlichen Fonts, Schriftschnitten und Schriftgrößen durchsucht wird und diese als Zeichenformate erstellt werden. Dazu verwende ich folgende Skriptzeilen:

Code
var _words = app.activeDocument.stories.everyItem().words 
for ( var w = 0; w < _words.length; w++ ) {
var mySel = app.activeDocument.stories.everyItem().words[w].characters.firstItem();
try {
var myFontFamily = mySel.appliedFont.fontFamily;
var myFontStyle = mySel.characters.firstItem().appliedFont.fontStyleName;
var myCharacterSize = mySel.characters.firstItem().pointSize;
}


Es ergibt sich nun das Problem, dass »myFontFamily« und »myFontStyle« als undefined ausgeworfen werden. »myCharacterSize« wird hingegen richtig erkannt.
Ich vermute, dass der Fehler in der Zeile »mySelection« steckt, habe schon verschiedene Dinge ausprobiert, komme aber nicht auf die richtige Lösung.

Kann mir jemand einen Tipp geben?

Viele Grüße, Stefan Oe
X

Text nach Auszeichnungen durchsuchen

-hans-
Beiträge gesamt: 748

16. Jun 2012, 14:04
Beitrag # 2 von 4
Beitrag ID: #496564
Bewertung:
(1616 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
hi,

ID 5.5

Objekt 'appliedFont' hat die Eigenschaft 'length' ...

Hoff es klappt:

Code
var _words = app.activeDocument.stories.everyItem().words  
for ( var w = 0; w < _words.length; w++ ) {
var mySel = app.activeDocument.stories.everyItem().words[w].characters.firstItem();
var myFontFamily = mySel.appliedFont[0].fontFamily;
var myFontStyle = mySel.appliedFont[0].fontStyleName;
var myCharacterSize = mySel.pointSize;
alert(myFontFamily + myFontStyle + myCharacterSize)
}



als Antwort auf: [#496561]

Text nach Auszeichnungen durchsuchen

Martin Fischer
  
Beiträge gesamt: 12783

16. Jun 2012, 17:06
Beitrag # 3 von 4
Beitrag ID: #496571
Bewertung:
(1569 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stefan,

ohne Dich in Deinem Eifer bremsen zu wollen empfehle ich Dir, mal einen Blick auf Thomas Silkjærs Skript auto_create_p_c_styles.jsx zu werfen.

Von dort könntest Du Dir eventuell weitere Anregungen holen.


als Antwort auf: [#496561]
(Dieser Beitrag wurde von Martin Fischer am 16. Jun 2012, 17:16 geändert)

Text nach Auszeichnungen durchsuchen

Stefan Oe
Beiträge gesamt: 42

16. Jun 2012, 20:55
Beitrag # 4 von 4
Beitrag ID: #496576
Bewertung:
(1538 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,
herzlichen Dank für Deinen Tipp. Da hätte ich beinahe versucht, das Rad ein zweites Mal zu erfinden. Das Skript, das Du mir empfohlen hast, macht genau das, was ich mir wünsche – eine enorme Arbeitserleichterung bei laienhaft ausgezeichneten (Kunden-)Manuskripten.
Vielen Dank und schöne Grüße,
Stefan Oe


als Antwort auf: [#496571]
X