[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Textfelder in andere Dokumente verschieben

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

Textfelder in andere Dokumente verschieben

painschen
Beiträge gesamt: 48

3. Mär 2010, 17:49
Beitrag # 1 von 4
Bewertung:
(1076 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

bin schon sehr weit mit meinem Script gekommen, dass über einen Sammel-Ordner alle InDesign Dateien durchgeht und Überschriften bestimmter Absatzformate raussucht und in einer CSV Datei indexiert.

Einzigstes Problem: Anscheinend kann man die Absatzformate nur im kompletten Dokument durchsuchen, was mir natürlich ein unpräzises Ergebnis liefert (denn ich bin gezwungen die Angaben auf Doppelseiten anzugeben).

Oder geht sowas wie:
Code
myDocument.pages.item(3).findText(); 


Jetzt dachte ich an einen folgenden Trick (bei dem ich Textfelder mit einer bestimmten X-Koordinate einfach in ein andres Dokument zwischenlagere):

Code
var myDocument = app.activeDocument; 
var myLeftTempDocument = app.documents.add();
var myRightTempDocument = app.documents.add();

for(var i= 0; i<myDocument.textFrames.length; i++){
myTextFrame = myDocument.textFrames[i];
var x = myTextFrame[i].geometricBounds[1];
if(x < 125) {
alert("links");
// z.b.
moveTextfield(myTextFrame, myLeftTempDocument)
} else {
alert("rechts");
// z.b.
moveTextfield(myTextFrame, myRightTempDocument)
}
}


Nur finde ich keine Funktion fürs "copy/paste" ins andere Dokument (z.b. sowas):
Code
moveTextfield(myDocument.myTextFrame[i],myLeftTempDocument) 


Hat jemand eine Idee?

Aktuell nutze ich bei nem anderen Skript folgendes, das ich aber leider nicht übertragen kann:

Code
myHeadline[d].duplicate(LocationOptions.AT_END, myTargetFrame.parentStory); 

X

Textfelder in andere Dokumente verschieben

painschen
Beiträge gesamt: 48

3. Mär 2010, 18:07
Beitrag # 2 von 4
Beitrag ID: #435338
Bewertung:
(1067 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
OK ganz nach dem Motto "Hilf Dir Selbst":

Code
	var myLeftTempDocument = app.documents.add(); 
var myRightTempDocument = app.documents.add();
for(var i= 0; i<myDocument.textFrames.length; i++){
myTextFrame = myDocument.textFrames[i];
if(myTextFrame.geometricBounds[1] < 125) {
myTextFrame.duplicate(myLeftTempDocument.pages.item(0));
} else {
myTextFrame.duplicate(myRightTempDocument.pages.item(0));
}
}


Danke trotzdem :)


als Antwort auf: [#435336]

Textfelder in andere Dokumente verschieben

Martin Fischer
  
Beiträge gesamt: 12783

3. Mär 2010, 18:10
Beitrag # 3 von 4
Beitrag ID: #435339
Bewertung:
(1067 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo painschen,

auf die Schnelle ...

> Oder geht sowas wie: myDocument.pages.item(3).findText();

Nein, das geht nicht.
Aber das geht:

Code
myDocument.pages.item(3).textFrames.item(0).findText(); 

oder
Code
myDocument.spreads.item(2).textFrames.item(0).findText(); 


Du könntest die Suche so weit einschränken, dass Du in einer Schleife alle Textrahmen einer Seite oder einer Doppelseite durchläufst und darin suchst.

Hilft das schon ein Stück weiter?

------
edit: Ah, ich sehe gerade, Du bist schon einen Schritt weiter. ;-)


als Antwort auf: [#435336]
(Dieser Beitrag wurde von Martin Fischer am 3. Mär 2010, 18:12 geändert)

Textfelder in andere Dokumente verschieben

painschen
Beiträge gesamt: 48

3. Mär 2010, 18:43
Beitrag # 4 von 4
Beitrag ID: #435347
Bewertung:
(1053 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Mit meiner Lösung aus Post#2 gehts zwar mittlerweile, aber für jede InDesign Datei werden im Hintergrund mehrere Dokumente zum "zwischenlagern" angelegt. Bei einem 800 Seiten Katalog schränkt das natürlich die Performence etwas ein.

Mit deinem Hinweis wird das auf jeden Fall sauberer und schneller.

Danke dafür! :)


als Antwort auf: [#435339]
X