[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Skriptetikett sammeln (CS5 WIN JSX)

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

Skriptetikett sammeln (CS5 WIN JSX)

cwenet
Beiträge gesamt: 1139

6. Dez 2010, 21:24
Beitrag # 1 von 6
Bewertung:
(1949 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

hiermit versuche ich gerade alle Scriptetiketten im Dokument zu sammeln:



Code
var myFrame = app.activeDocument.pages[0].textFrames.add() ;  
var d=app.documents[0];
for (n=0;n<d.allPageItems.length;n++){
if (d.allPageItems[n].constructor.name == "TextFrame"){


app.activeDocument.pages[0].textFrames[0].contents = d.allPageItems[n].label +":"+app.activeDocument.pages[0].textFrames[0].parent.name+"\r";
};
};


Das klappt auch soweit ganz gut.
Ich möchte aber zusätzlich noch die Seitenzahl ermitteln, auf der sich der Textrahmen befindet.

Wie komme ich denn da an die Seitennummerierung dran?

Gruss
Christoph

(Dieser Beitrag wurde von cwenet am 6. Dez 2010, 21:24 geändert)
X

Skriptetikett sammeln (CS5 WIN JSX)

Martin Fischer
  
Beiträge gesamt: 12778

6. Dez 2010, 21:37
Beitrag # 2 von 6
Beitrag ID: #459042
Bewertung:
(1940 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

in Deinem Skript zum Exportieren aller Seiten im EPS-Format verwendest Du die Funktion findPage() zum Ermitteln der Seite auf der ein Objekt liegt.

In CS5 geht das etwas einfacher.
PageItems - und darunter auch TextFrames - haben eine Eigenschaft parentPage.
Darüber kannst Du die Seite ermitteln, auf der sich ein Textrahmen befindet - sofern er nicht auf der Montagefläche liegt.


als Antwort auf: [#459041]

Skriptetikett sammeln (CS5 WIN JSX)

cwenet
Beiträge gesamt: 1139

6. Dez 2010, 21:50
Beitrag # 3 von 6
Beitrag ID: #459045
Bewertung:
(1936 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Martin,

habs eingebaut aber wahrscheinlich nicht richtig verstanden.
Irgendetwas fehlt mir noch, denn jetzt wird immer Seite 1 ausgegeben.


Code
var myFrame = app.activeDocument.pages[0].textFrames.add() ;  

var d=app.documents[0];

for (n=0;n<d.allPageItems.length;n++){
if (d.allPageItems[n].constructor.name == "TextFrame"){
app.activeDocument.pages[0].textFrames[0].contents = d.allPageItems[n].label +":"+app.activeDocument.pages[0].textFrames[0].parentPage.name+"\r";
};
};


Gruss
Christoph


als Antwort auf: [#459042]

Skriptetikett sammeln (CS5 WIN JSX)

Martin Fischer
  
Beiträge gesamt: 12778

6. Dez 2010, 21:59
Beitrag # 4 von 6
Beitrag ID: #459047
Bewertung:
(1933 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

in app.activeDocument.pages[0].textFrames[0].parentPage.name fragst Du nach dem Namen der Seite des ersten Textrahmens auf der ersten Seite des aktiven Dokuments.

Was für eine Antwort erwartet Du da? ;-)


Versuch es stattdessen mit d.allPageItems[n].parentPage.name.


als Antwort auf: [#459045]
(Dieser Beitrag wurde von Martin Fischer am 6. Dez 2010, 22:03 geändert)

Skriptetikett sammeln (CS5 WIN JSX)

cwenet
Beiträge gesamt: 1139

6. Dez 2010, 22:11
Beitrag # 5 von 6
Beitrag ID: #459051
Bewertung:
(1915 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat Was für eine Antwort erwartet Du da? ;-)


Hallo Martin,

vielen dank. Ja das Script hat alles richtig gemacht.
Ich tu mich immer noch sehr schwer mit dem Lesen und Verstehen von Indd Scripts.


Grüße
Christoph


als Antwort auf: [#459047]

Skriptetikett sammeln (CS5 WIN JSX)

Martin Fischer
  
Beiträge gesamt: 12778

6. Dez 2010, 22:34
Beitrag # 6 von 6
Beitrag ID: #459053
Bewertung:
(1910 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Macht nix.
Deswegen unterhalten wir uns schließlich hier über das Thema.


als Antwort auf: [#459051]
X