[GastForen Programme Print/Bildbearbeitung Adobe InDesign Variablen in Text wandeln per Script (IDCS3 WIN JS)

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

Variablen in Text wandeln per Script (IDCS3 WIN JS)

cwenet
Beiträge gesamt: 1141

23. Okt 2008, 17:05
Beitrag # 1 von 19
Bewertung:
(7128 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo.

ich habe Kolumentitel via Variable auf der Musterseite erzeugt. Nun möchte ich alle Variablen in Text wandeln, damit ich im Kolumnentitel ein Tab-Zeichen per Suchen und Ersetzen entfernen kann.
Wie läßt sich da via Script lösen?

Gruss
Christoph
X

Variablen in Text wandeln per Script (IDCS3 WIN JS)

Martin Fischer
  
Beiträge gesamt: 12812

23. Okt 2008, 17:10
Beitrag # 2 von 19
Beitrag ID: #371677
Bewertung:
(7126 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Textvariablen haben eine property 'associatedInstances' (ein Array).
Diese 'TextVariableInstances' haben einen Befehl 'convertToText()'.
Das dürfte der gesuchte Befehl sein.


als Antwort auf: [#371675]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

cwenet
Beiträge gesamt: 1141

23. Okt 2008, 18:38
Beitrag # 3 von 19
Beitrag ID: #371699
Bewertung:
(7108 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Danke Martin,

so habe ich jetzt etwas zusammengebastelt

Code
app.documents[0].textVariables.itemByName("kol1").convertToText() 


Leider wird statt dem Inhalt der Variable der Variablennamen ausgegeben. Hier: <kol1>

Hast Du eine Idee wie ich an den Inhalt ran komme?

Gruss
Christoph


als Antwort auf: [#371677]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

Martin Fischer
  
Beiträge gesamt: 12812

23. Okt 2008, 18:44
Beitrag # 4 von 19
Beitrag ID: #371701
Bewertung:
(7106 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Christoph,

Du willst doch nicht die Textvariablen selbst in Text umwandeln (das geht auch nicht), sondern deren Umsetzung im Text. Deswegen hatte ich Dich oben auf die 'associatedInstances' hingewiesen. Stelle deren Anzahl fest und marschiere in einer Schleife rückwärts durch die Instanzen und konvertiere in Text:


Code
app.documents[0].textVariables.itemByName("kol1").associatedInstances[i].convertToText(); 



als Antwort auf: [#371699]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

cwenet
Beiträge gesamt: 1141

23. Okt 2008, 19:22
Beitrag # 5 von 19
Beitrag ID: #371707
Bewertung:
(7084 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Sorry Martin,

irgendwie blicke ich das nicht:

Code
for(i = 0; i < app.activeDocument.TextVariableInstances.count (); i++){ 

app.documents[0].textVariables.itemByName("kol1").associatedInstances[i].convertToText();

}


Ich hab schon alles durchprobiert laut ExtendScript toolkit Objektmodell Hilfe.
Leider komme ich ich nicht weiter.

Kannst Du mir bitte nochmals weiterhelfen?
Danke.

Gruss
Christoph


als Antwort auf: [#371701]
(Dieser Beitrag wurde von Martin Fischer am 23. Okt 2008, 19:38 geändert)

Variablen in Text wandeln per Script (IDCS3 WIN JS)

Martin Fischer
  
Beiträge gesamt: 12812

23. Okt 2008, 19:39
Beitrag # 6 von 19
Beitrag ID: #371708
Bewertung:
(7073 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Christoph,

hast Du meine Anweisung genau genug gelesen?
Da stand nicht ohne Grund etwas von rückwärts zählen.
Denn während der Ausführung verändert sich die Zahl der Instanzen.

Versuch's mal damit.
Code
for ( i = app.documents[0].textVariables.itemByName("kol1").associatedInstances.length-1; i >= 0; i-- ) 
app.documents[0].textVariables.itemByName("kol1").associatedInstances[i].convertToText() ;



als Antwort auf: [#371707]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

cwenet
Beiträge gesamt: 1141

23. Okt 2008, 19:51
Beitrag # 7 von 19
Beitrag ID: #371709
Bewertung:
(7066 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Martin,

dankeschön.
Das mit dem Rückwärtszählen habe ich gelesen. Aber es scheiterte bei mir schon an der Umsetzung.
Dein Codeschnipsel gibt jetzt ebenfalls den Variablennamen aus.
Ich bin meinem Wissen am Ende.
Hast Du noch eine Idee?

Danke

Christoph


als Antwort auf: [#371708]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

Martin Fischer
  
Beiträge gesamt: 12812

23. Okt 2008, 22:38
Beitrag # 8 von 19
Beitrag ID: #371720
Bewertung:
(7011 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

bitte entschuldige meinen etwas barschen Ton vorhin.
Ich musste dringend weg, wollte Dich aber nicht im Regen stehen lassen.
Der Einsatz scheint nicht zu dem erwarteten Erfolg geführt zu haben.

> Dein Codeschnipsel gibt jetzt ebenfalls den Variablennamen aus.

Was heißt 'gibt jetzt ebenfalls den Variablennamen aus'?
Kannst Du eventuell einen Screenshot der Fehlermeldung schicken?

Das Codeschnipsel, das ein fertiges Skript ist, arbeitet gut für mich.
Alle Instanzen werden konvertiert.

Ich muss aber auch meine falsche Behauptung oben revidieren:

Zitat Du willst doch nicht die Textvariablen selbst in Text umwandeln (das geht auch nicht), sondern deren Umsetzung im Text.


Das ist Quatsch.
Natürlich geht das.
Und zwar genau so, wie Du es angegeben hast!

Code
app.documents[0].textVariables.itemByName("kol1").convertToText(); 


Ich habe keine Idee, warum das bei Dir nicht funktioniert.
Hast Du's mal auf der Benutzeroberfläche getestet, ob's da funktioniert?
1. Ein einzelnes Vorkommen der Variable markieren und 'in Text konvertieren';
2. die Variable im Definitionsmenü der Variablen auswählen und dort 'in Text konvertieren'.


als Antwort auf: [#371709]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

cwenet
Beiträge gesamt: 1141

24. Okt 2008, 08:22
Beitrag # 9 von 19
Beitrag ID: #371740
Bewertung:
(6964 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

Zitat bitte entschuldige meinen etwas barschen Ton vorhin.

Geht in Ordnung. Nichts passiert.

Wenn ich die Variablen lose im Dokument platziere funktioniert es wunderbar.
Aber Variablen die in der Musterseite liegen werden nicht in Text umgewandelt sondern es wird der Variablennamen <kol1> ausgegeben.
Fehlermeldung gibt es keine.


Gruss
Christoph


als Antwort auf: [#371720]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

Martin Fischer
  
Beiträge gesamt: 12812

24. Okt 2008, 09:07
Beitrag # 10 von 19
Beitrag ID: #371747
Bewertung:
(6958 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Christoph,

Code
Aber Variablen die in der Musterseite liegen werden nicht in Text umgewandelt sondern es wird der Variablennamen <kol1> ausgegeben.  
Fehlermeldung gibt es keine

Ich bin mir immer noch unsicher, ob ich Dich richtig verstehe:
Statt dem Inhalt des Variablentext steht nach Ausführung der Skriptzeile dort, wo die Variable 'kol1' auf den Musterseiten platziert war '<kol1>'.
Auf den Layoutseiten hingegen steht korrekterweise der Inhalt der Variable.

Also hier auf dem Mac kann ich das nicht nachvollziehen.
Egal ob die Textvariable sich auf der Musterseite oder auf einer Layoutseite befindet, sie wird korrekt umgewandelt.

Ich hatte oben schon mal danach gefragt:
Hast Du die Konvertierung mal manuell über die Benutzeroberfläche versucht?
Ist das Ergebnis ein anderes als wenn Du das Skript ausführst?


als Antwort auf: [#371740]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

cwenet
Beiträge gesamt: 1141

24. Okt 2008, 09:25
Beitrag # 11 von 19
Beitrag ID: #371751
Bewertung:
(6953 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Martin,

nun habe ich die Konvertierung manuell durchgeführt. Um aber an ein Musterseitenobjekt dranzukommen, muss ich es erst manuell lösen. Dann funktioniert beides:
Das Script und die Funktionalitäten der Bedieneroberfläche.

Sind in Deinem Fall die Musterseitenobjekte immer noch mit der Musterseite verankert?

Gruss
Christoph


als Antwort auf: [#371747]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

Martin Fischer
  
Beiträge gesamt: 12812

24. Okt 2008, 09:33
Beitrag # 12 von 19
Beitrag ID: #371753
Bewertung:
(6952 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
> Sind in Deinem Fall die Musterseitenobjekte immer noch mit der Musterseite verankert?

Ja.
Und probehalber habe ich den korrespondierenden Textrahmen auch mal gesperrt.
Das war für die Umwandlung keine Behinderung.


als Antwort auf: [#371751]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

cwenet
Beiträge gesamt: 1141

24. Okt 2008, 10:09
Beitrag # 13 von 19
Beitrag ID: #371763
Bewertung:
(6938 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Martin,

wenn ich z.B. die vorgefertigten Variablen wie Dateiname oder Datum verwende, dann funktioniert es bei mir auch.
Aber verwende ich "Laufende Kopfzeile (Absatzformat)" dann wird nur der Variablennamen "<kol1>" ausgegeben.

Christoph


als Antwort auf: [#371753]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

Martin Fischer
  
Beiträge gesamt: 12812

24. Okt 2008, 10:47
Beitrag # 14 von 19
Beitrag ID: #371769
Bewertung:
(6926 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat von Christoph wenn ich z.B. die vorgefertigten Variablen wie Dateiname oder Datum verwende, dann funktioniert es bei mir auch.
Aber verwende ich "Laufende Kopfzeile (Absatzformat)" dann wird nur der Variablennamen "<kol1>" ausgegeben.


Hoi!
Jetzt kommen wir dem Problem schon näher.
Ich hatte Dich stets missverstanden und Deinen Begriff 'Textvariablen' mit 'Textvariable mit benutzerdefiniertem Text' gleichgesetzt.

Anyway.
Das funktioniert hier auf dem Mac auch mit einer Textvariable, die ihren Inhalt von einem Absatzformat bezieht. Aber ich hätte mir für das Versagen eine einfachere Erklärung vorstellen können als bei benutzerdefiniertem Text: Woher soll eine eintsprechende auf der Musterseite platzierte AF-abhängige Variable nach der Konvertierung in Text ihren Inhalt beziehen, wenn auf der Musterseite kein entsprechender Inhalt zu finden ist (also Text mit dem AF).

Auf dem Mac stelle ich fest, dass die auf der Musterseite platzierte AF-abhängige Variable bei der erstmaligen Ausführung des Skripts die Konvertierung in Text nicht mitmacht und zunächst als Variable erhalten bleibt. Addiere ich neue Textseiten, die auf dieser Musterseite basieren, wird diese Variable ggf. wieder mit Inhalt aus dem entsprechenden AF gefüllt.
Auf den Textseiten hingegen wird die Variable, die auf der Textseite steht und nicht von der Musterseite kommt, korrekt in den Inhalt des entsprechenden Absatzes konvertiert.

Führe ich das Skript nochmals aus, dann löst sich die Textvariable auf der Musterseite in Luft auf. Es bleibt nichts zurück. Nicht einmal ein Platzhalter mit dem Namen der Textvariable.

Können andere WINdianer und andere MACianer dieses Phänomen in der dargestellten Weise bestätigen?


als Antwort auf: [#371763]

Variablen in Text wandeln per Script (IDCS3 WIN JS)

Neil77
Beiträge gesamt: 287

24. Okt 2008, 18:32
Beitrag # 15 von 19
Beitrag ID: #371854
Bewertung:
(6871 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

bei mir (Win-User) sieht es so aus:
Code
app.documents[0].textVariables.itemByName("kol1").convertToText(); 

wird ebenfalls die auf der Musterseite platzierte Variable in den Text "<kol1>" umgewandelt.
Auf den Textseiten steht jetzt entsprechend (da mit der Musterseite verknüpft) ebenfalls "<kol1>".

Was du schreibst, Martin, kann ich jedenfalls bei mir nicht so nachstellen (oder ich habe einen Punkt falsch verstanden).

Die Funktion convertToText wandelt hier zwar alle Instanzen in Text um - in diesem Fall gibt es aber in der Objekthierarchie nur eine Instanz, nämlich auf der Musterseite. Ich glaube, es führt wohl daher kein Weg daran vorbei, alle entsprechenden Textrahmen auf den einzelnen Seiten per Skript erst von der Musterseite zu lösen und nur an diesen Stellen in Text umzuwandeln.

Grüße,
Martin


als Antwort auf: [#371769]
(Dieser Beitrag wurde von Neil77 am 24. Okt 2008, 18:35 geändert)
X

Veranstaltungskalender

Hier können Sie Ihre Anlässe eintragen, welche einen Zusammenhang mit den Angeboten von HilfDirSelbst.ch wie z.B. Adobe InDesign, Photoshop, Illustrator, PDF, Pitstop, Affinity, Marketing, SEO, Büro- und Rechtsthemen etc. haben. Die Einträge werden moderiert freigeschaltet. Dies wird werktags üblicherweise innert 24 Stunden erfolgen.

pdf-icon Hier eine kleine Anleitung hinsichtlich Bedeutung der auszufüllenden Formularfelder.

Veranstaltungen
16.07.2024

Online
Dienstag, 16. Juli 2024, 10.00 - 10.30 Uhr

Webinar

In diesen beiden kostenlose Webinaren erfahren Sie, wie Sie mit Hilfe von Enfocus Griffin und dem Impressed Workflow Server Ihren LFP-Workflows optimieren können. 16.07.2024: So optimieren Sie Ihre Prozesse mit Enfocus Griffin 30.07.2024: So sparen Sie Zeit und Geld mit Impressed Workflow Server in der LFP-Edition Griffin: Griffin ist das leistungsstarke Kraftpaket für das automatische Nesting im Großformatdruck. Dank eines ausgeklügelten, KI-basierten Nesting-Algorithmus können Sie mit Griffin Vorlagen schnell und effizient vernutzen – und das klappt auch mit unregelmäßigen Formen perfekt. Das spart Ihnen unzählige Stunden, die Sie bisher mit dem manuellen Nesting und Ausschießen verbracht haben. Einige wichtige Funktionen Anlage von Beschnittzugaben Automatische Erzeugung der Schnittkontur Erstellung von Strichcodes, Textmarkierungen und Registrierungen ... IWS LFP Edition: Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Mit dem IWS LFP Edition automatisieren Sie Ihre Produktion von der Übernahme der Daten aus dem ERP-System bis zur Erzeugung der verschachtelten Druckform und der Übergabe an den RIP. Phoenix2Switch ist eine hochentwickelte KI-Technologie für die Planung und das Nesting von Druckerzeugnissen. Anders als herkömmliche Ausschießlösungen arbeitet Phoenix nicht auf Basis von Vorlagen, sondern erzeugt entsprechend der Maschinen- und Produktionsanforderungen druckfertige Layouts „on-the-fly“.

kostenlos

Ja

Organisator: Impressed GmbH

https://www.impressed.de/schulung.php?c=sDetail&sid=328

So optimieren Sie Ihren LFP-Workflow
Veranstaltungen
30.07.2024

Online
Dienstag, 30. Juli 2024, 10.00 - 10.30 Uhr

Webinar

In diesen beiden kostenlose Webinaren erfahren Sie, wie Sie mit Hilfe von Enfocus Griffin und dem Impressed Workflow Server Ihren LFP-Workflows optimieren können. 16.07.2024: So optimieren Sie Ihre Prozesse mit Enfocus Griffin 30.07.2024: So sparen Sie Zeit und Geld mit Impressed Workflow Server in der LFP-Edition Griffin: Griffin ist das leistungsstarke Kraftpaket für das automatische Nesting im Großformatdruck. Dank eines ausgeklügelten, KI-basierten Nesting-Algorithmus können Sie mit Griffin Vorlagen schnell und effizient vernutzen – und das klappt auch mit unregelmäßigen Formen perfekt. Das spart Ihnen unzählige Stunden, die Sie bisher mit dem manuellen Nesting und Ausschießen verbracht haben. Einige wichtige Funktionen Anlage von Beschnittzugaben Automatische Erzeugung der Schnittkontur Erstellung von Strichcodes, Textmarkierungen und Registrierungen ... IWS LFP Edition: Komplizierte, kleinteilige Aufträge; alles sehr speziell; seit Jahren bewährte Prozesse – da können wir nichts standardisieren und automatisieren! Das sagen viele Großformatdrucker – aber stimmt das wirklich, ist dem tatsächlich so? Mit dem IWS LFP Edition automatisieren Sie Ihre Produktion von der Übernahme der Daten aus dem ERP-System bis zur Erzeugung der verschachtelten Druckform und der Übergabe an den RIP. Phoenix2Switch ist eine hochentwickelte KI-Technologie für die Planung und das Nesting von Druckerzeugnissen. Anders als herkömmliche Ausschießlösungen arbeitet Phoenix nicht auf Basis von Vorlagen, sondern erzeugt entsprechend der Maschinen- und Produktionsanforderungen druckfertige Layouts „on-the-fly“.

kostenlos

Ja

Organisator: Impressed GmbH

https://www.impressed.de/schulung.php?c=sDetail&sid=328

So optimieren Sie Ihren LFP-Workflow