[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Elemente durchlaufen und Style und Inhalt ausgeben

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

Elemente durchlaufen und Style und Inhalt ausgeben

w@rlock
Beiträge gesamt: 22

7. Apr 2011, 10:12
Beitrag # 1 von 14
Bewertung:
(5510 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo alle zusammen,

ich versuche seit ein paar Stunden eine Automation zu schreiben welche alle Elemente einer Seite auch von mir vorgegeben Styles durchsucht und mit den Inhalt dieser Textelemente ausgibt.
Ich muss also zunächst ein TextFrame mit einem Bestimmten Style finden und dessen Inhalt auslesen, wenn Ihr mir ein Tipp geben können wir das geht, dann würde mir eigentlich schon sehr helfen.

Aufbau der Datei:
Seite1
Texthead:
Text - Nummer - Preis

Texthead
Text - Nummer
...
Seite2
....


Texthead ist dabei die Kennzeichnung für den Container auf einer Seite. Texthead kommt dabei mehrmals auf einer Seite vor und hat eine bestimmte Position (also das zuerst gefundene hat 1)
Folgendes versuche ich zu als Ergebnis hin zu bekommen.

Code
Ist Texthead.Style = meinGesuchtestTextHeadStyle dann  
schreibe
- Inhalt von Style(Seite) & Position von Texthead & '-' & Nummer

X

Elemente durchlaufen und Style und Inhalt ausgeben

Martin Fischer
  
Beiträge gesamt: 12714

7. Apr 2011, 10:16
Beitrag # 2 von 14
Beitrag ID: #468619
Bewertung:
(5509 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wie sehen Deine bisherigen Schritte aus und wo bist Du stecken geblieben?


als Antwort auf: [#468618]

Elemente durchlaufen und Style und Inhalt ausgeben

w@rlock
Beiträge gesamt: 22

7. Apr 2011, 10:23
Beitrag # 3 von 14
Beitrag ID: #468621
Bewertung:
(5506 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,
ja das ist eine gute Frage, ich habe noch nicht richtig angefangen.
Ich weiss nicht wie ich den Style abfragen kann.
Hier mein Script:
Code
function tbl() { 
var fTbl = 'Tabelle_Kopf_Artikelbezeichnung';
var fArt = 'Tabelle_Artikelnummer';

var anzCont = 0;
var anzArt = 0;
var counter = 0;

if(app.documents.length == 0){
var dc = app.open(File('/c/ind/akp.indd'));
}
else
{

var dc = app.documents[0];
var tf = dc.textFrames;

for (var i = 0; i < tf.length; i++){
alert(tf[i].????? == fTbl);
alert(tf[i].contents);
anzCont++;
}

} //open
}//function



als Antwort auf: [#468619]

Elemente durchlaufen und Style und Inhalt ausgeben

w@rlock
Beiträge gesamt: 22

7. Apr 2011, 10:52
Beitrag # 4 von 14
Beitrag ID: #468625
Bewertung:
(5473 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Nach meiner recherche hat TextFrame keine Eigenschaft mit Style,
oder ist es falsch?
http://indesignscriptingreference.com/cs3/javascript-cs3/textframes-3.htm


als Antwort auf: [#468621]

Elemente durchlaufen und Style und Inhalt ausgeben

w@rlock
Beiträge gesamt: 22

7. Apr 2011, 11:10
Beitrag # 5 von 14
Beitrag ID: #468626
Bewertung:
(5447 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Keiner eine Idee??


als Antwort auf: [#468625]

Elemente durchlaufen und Style und Inhalt ausgeben

Martin Fischer
  
Beiträge gesamt: 12714

7. Apr 2011, 11:22
Beitrag # 6 von 14
Beitrag ID: #468627
Bewertung:
(5431 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ein TextFrame hat die Eigenschaft appliedObjectStyle.


als Antwort auf: [#468625]

Elemente durchlaufen und Style und Inhalt ausgeben

w@rlock
Beiträge gesamt: 22

7. Apr 2011, 11:23
Beitrag # 7 von 14
Beitrag ID: #468629
Bewertung:
(5429 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Super Danke!!!
Genau das habe ich gebraucht!


als Antwort auf: [#468627]

Elemente durchlaufen und Style und Inhalt ausgeben

w@rlock
Beiträge gesamt: 22

7. Apr 2011, 12:55
Beitrag # 8 von 14
Beitrag ID: #468640
Bewertung:
(5390 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo nochmal,

mit appliedObjectStyle bekomme ich immer [Einfacher Textrahmen] ausgegeben, ich benötige jedoch den Absatzformat, gibt es da eine Möglichkeit??


als Antwort auf: [#468627]

Elemente durchlaufen und Style und Inhalt ausgeben

Martin Fischer
  
Beiträge gesamt: 12714

7. Apr 2011, 13:09
Beitrag # 9 von 14
Beitrag ID: #468644
Bewertung:
(5386 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das Absatzformat gehört nicht zum Textrahmen.
Es gehört vielmehr zu einem Absatz.

Statt appliedObjectStyle halte Ausschau nach appliedParagraphStyle.

Die Absätze eines Textrahmens: mein_textrahmen.paragraphs.


als Antwort auf: [#468640]

Elemente durchlaufen und Style und Inhalt ausgeben

w@rlock
Beiträge gesamt: 22

7. Apr 2011, 16:35
Beitrag # 10 von 14
Beitrag ID: #468671
Bewertung:
(5333 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

habe ich eine Möglichkeit alle textFrames auszugeben bzw. alle Paragraphs auszugeben unabhängig davon ob diese gruppiert sind oder nicht.

Ich habe nämlich das Problem, dass meine TextFrames in den die Paragraphe liegen einmail einer Gruppe angehören die wiederrum untergruppen enthalten kann, und einmal direkt auf der Seite liegen.

Danke!!


als Antwort auf: [#468644]

Elemente durchlaufen und Style und Inhalt ausgeben

Martin Fischer
  
Beiträge gesamt: 12714

7. Apr 2011, 17:22
Beitrag # 11 von 14
Beitrag ID: #468677
Bewertung:
(5316 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hast Du eine Idee, wie eine Gruppe zu adressieren ist?
Und die Textrahmen einer Gruppe?
Und die Absätze eines Textrahmens einer Gruppe?

Dasselbe Spiel mit Gruppen einer Gruppe, und deren Textrahmen und deren Absätze ...

Wenn Du das raus hast, bist Du einen großen Schritt weiter.
Dann musst Du nur noch einen Weg finden, alle Absätze aller Gruppen und Untergruppen einzusammeln.


Alternativ gibt es eine 'Super'-Klasse eines document, das alle pageItems, auch die in Gruppen, sammelt: app.activeDocument.allPageItems. In einer Schleife durch die Elemente dieses Arrays kannst Du die Textrahmen herausfiltern.


als Antwort auf: [#468671]
(Dieser Beitrag wurde von Martin Fischer am 8. Apr 2011, 08:57 geändert)

Elemente durchlaufen und Style und Inhalt ausgeben

w@rlock
Beiträge gesamt: 22

8. Apr 2011, 08:25
Beitrag # 12 von 14
Beitrag ID: #468701
Bewertung:
(5255 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

ich das ist super danke.
Die Abfrage erfolgt dann so
Code
var pi = doc.allpageitems; 
for(var i = 0; i < pi.length; i++){
if(pi[i].constructor.name == 'TextFrame'){
...
...
}
}


Das habe ich alles soweit fertig. Kann ich mit Extended Toolkit in eine Textdatei schreiben?

Danke!


als Antwort auf: [#468677]

Elemente durchlaufen und Style und Inhalt ausgeben

w@rlock
Beiträge gesamt: 22

8. Apr 2011, 09:31
Beitrag # 13 von 14
Beitrag ID: #468714
Bewertung:
(5234 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Wie der Name des Forums schon sagt ;) Habe mir zum Teil selbst geholfen.

Folgende Vorgehensweise!
Entscheidend ist hier der Bearbeitungsmodus bei der Funktion open!
myFile.open("w") schreibt die Datei neu, der Inhalt wird ersetzt
.open("a") fügt den Text zum Inhalt dazu
.open("r") nur lesen
.open("e") bearbeiten


Code
var myFile = new File('/c/indesign/textListe.txt'); 
myFile.open("w");
myFile.write('Mein Text in der Textdatei');



als Antwort auf: [#468701]

Elemente durchlaufen und Style und Inhalt ausgeben

w@rlock
Beiträge gesamt: 22

11. Apr 2011, 13:59
Beitrag # 14 von 14
Beitrag ID: #468874
Bewertung:
(5152 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
so ich melde mich nochmal!

ich habe alles soweit hinbekommen, klappt auch super mit der Ausgabe. Ich komme nur nicht an die Seitenzahl dran, weil es mit der InDesign Buchfunktion erstellt wird.

Habt Ihr eine Idee wie ich auf die Seitenzahl zugreifen kann?
Die Seitenzahl wird in InDesign unten Links angezeigt.

Danke!
w@rlock


als Antwort auf: [#468714]
X