[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste

Mehrere Eigenschaften von Absatzformaten auslesen

Martin Fischer
  
Beiträge gesamt: 12783

11. Apr 2014, 11:45
Bewertung:

gelesen: 3514

Beitrag als Lesezeichen
Hallo Rübe,

habe die Links nicht gelesen.
Auf die Schnelle hier eine Skizze, wie Du auf einfache Weise gezielt bestimmte Eigenschaften aus Objekten auslesen könntest.

Code
main(); 

function main()
{
var doc = (app.documents.length > 0) ? app.documents.firstItem() : app.documents.add(),
i = 0, ps_props = new Array,
props2get = {
appliedFont: null,
name: null,
pointSize: null,
fillColor: null,
underline: null,
parent: null,
dummy: null // Unsinn!
};

for (i = 0; i < doc.allParagraphStyles.length; i++)
ps_props.push( get_selprops(props2get, doc.allParagraphStyles[i]));

// do something
$.bp();

function get_selprops(obj, ps)
{
var o = {}, x = 0;
for (x in obj)
if (ps.hasOwnProperty(x) )
o[x] = ps[x];
return o;
}
}


Die ermittelten Eigenschaften - hier der Absatzformate - werden als Objekte im Array ps_props gesichert.

Manche Eigenschaften liegen als Objekt vor (appliedFont).
Diese müsstest Du ggf. durch eine weitere Routine auflösen bzw. die gewünschten Eigenschaften herauspicken.

----
edit: Nun habe ich doch mal kurz in den Link reingespickelt.
Bei Trevor ist die Auflösung ja praktisch auch sehr differenziert enthalten. ;-)
Vergiss meinen Ansatz oben.
Kann den Ansatz von Trevor aber aus zeitlichen Gründen jetzt nicht analysieren und erklären. :-(

(Dieser Beitrag wurde von Martin Fischer am 11. Apr 2014, 11:55 geändert)
Änderungsverlauf:
Beitrag geändert von Martin Fischer (Moderator) am 11. Apr 2014, 11:47
Beitrag geändert von Martin Fischer (Moderator) am 11. Apr 2014, 11:48
Beitrag geändert von Martin Fischer (Moderator) am 11. Apr 2014, 11:49
Beitrag geändert von Martin Fischer (Moderator) am 11. Apr 2014, 11:55