[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Palette: Anzeige des aktiven Dokument-Namens

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

Palette: Anzeige des aktiven Dokument-Namens

J.Puff
Beiträge gesamt: 238

28. Mär 2015, 11:01
Beitrag # 1 von 6
Bewertung:
(2443 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo!
Ich möchte gerne in einer Script-Palette den Namen des aktiven Dokuments anzeigen.
Leider finde ich keinen Event, der mir den Wechsel offener Dokumenten vermittelt.
Hat jemand dazu eine Idee?

Beste Grüße
Johannes.
X

Palette: Anzeige des aktiven Dokument-Namens

Gerald Singelmann
  
Beiträge gesamt: 6269

28. Mär 2015, 20:22
Beitrag # 2 von 6
Beitrag ID: #538377
Bewertung:
(2371 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Man kann einen Eventlistener auf das Document legen, der nach "beforeDeactivate" und "afterActivate" lauscht.

Das in Ergänzung mit einem Listener auf der app für afterNew und afterOpen, der den afterActivate installiert, müsste eigentlich funzen.

Probiert habe ich es aber nicht.

Zum Experimentieren und besseren Verständnis hatte ich mal ein Script geschrieben (oder abgeändert? Die Struktur sieht sehr nach Adobe Script aus... Das Gedächtnis, das Gedächtnis...), das die meisten Events auf Dokument Ebene installiert. Dann sieht man ganz gut, was wann gefeuert wird.

Code
//EventListenersOn.jsx 
//An InDesign CS5 JavaScript
//
//Installs event listeners for many supported events; displays a
//message when each event occurs.
#targetengine "session"
main();
function main(){
mySetup();
mySnippet();
myTeardown();
}
function mySetup(){
}
function mySnippet(){
//<fragment>
var myEventNames = [
"beforeQuit", "afterQuit",
"beforeNew", "afterNew",
"beforeOpen", "afterOpen",
"beforeClose", "afterClose",
"beforeSave", "afterSave",
"beforeSaveAs", "afterSaveAs",
"beforeSaveACopy", "afterSaveACopy",
"beforeRevert", "afterRevert",
"beforePrint", "afterPrint",
"beforeExport", "afterExport",
"beforeImport", "afterImport",
"afterActivate", "beforeDeactivate",

"afterContextChanged",
"afterDelete", "beforeDelete",
"beforeDisplay",
"afterEmbed", "beforeEmbed",
"afterInvoke", "beforeInvoke",
"afterLinksChanged",
"afterMove", "beforeMove",
"afterPlace", "beforePlace",
"afterSelectionAttributeChanged",
"afterSelectionChanged",
"afterUnembed", "beforeUnembed",
"afterUpdate", "beforeUpdate"
] ;
for (var myCounter = 0; myCounter < myEventNames.length; myCounter ++){
app.activeDocument.addEventListener(myEventNames[myCounter], myEventInfo);
}
//</fragment>
}
function myTeardown(){
}
//<fragment>
function myEventInfo(myEvent){
try{
var myString = "Application Event: " +myEvent.eventType;
myString += "\r\rTarget: " + myEvent.target.constructor.name + ", " +myEvent.target.name;
myString += "\rCurrent: " +myEvent.currentTarget.constructor.name + ", " + myEvent.currentTarget.name;
myString += "\r\rPhase: " + myGetPhaseName(myEvent.eventPhase );
myString += "\rBubbles: " + myEvent.bubbles;
myString += "\r\rCancelable: " +myEvent.cancelable;
myString += "\rStopped: " +myEvent.propagationStopped;
myString += "\rCanceled: " +myEvent.defaultPrevented;
myString += "\r\rTime: " +myEvent.timeStamp;
alert(myString);
function myGetPhaseName(myPhase){
switch(myPhase){
case EventPhases.atTarget:
myPhaseName = "At Target";
break;
case EventPhases.bubblingPhase:
myPhaseName = "Bubbling";
break;
case EventPhases.done:
myPhaseName = "Done";
break;
case EventPhases.notDispatching:
myPhaseName = "Not Dispatching";
break;
default:
myPhaseName = "no phase defined";
}
return myPhaseName;
}
}
catch(myError){
alert("Error getting event properties.");
}
}
//</fragment>



als Antwort auf: [#538372]

Palette: Anzeige des aktiven Dokument-Namens

J.Puff
Beiträge gesamt: 238

28. Mär 2015, 20:47
Beitrag # 3 von 6
Beitrag ID: #538378
Bewertung:
(2363 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Vielen Dank für das Beispiel-Script!
In meiner Anfrage hatte ich vergessen zu erwähnen, dass es leider nicht möglich ist, einen EventHandler im StartUp-Scripts-Ordner zu verwenden. D.h. ich müsste den Event innerhalb des Paletten-Scriptes erfassen und auswerten können.
Wenn ich das Beispiel richtig verstehe, ist das dort anders vorgesehen - oder?


als Antwort auf: [#538377]

Palette: Anzeige des aktiven Dokument-Namens

Gerald Singelmann
  
Beiträge gesamt: 6269

28. Mär 2015, 21:35
Beitrag # 4 von 6
Beitrag ID: #538379
Bewertung:
(2329 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat ich müsste den Event innerhalb des Paletten-Scriptes erfassen


Das Paletten Script kann doch einen afterActivate für alle offenen Dokument installieren und einen afterNew bzw afterOpen für die App.

Oder mach ich einen Denkfehler?


als Antwort auf: [#538378]

Palette: Anzeige des aktiven Dokument-Namens

J.Puff
Beiträge gesamt: 238

28. Mär 2015, 22:51
Beitrag # 5 von 6
Beitrag ID: #538380
Bewertung:
(2280 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Kein Denkfehler, ich hatte den Listener nur nicht an die app hinzugefügt.
Ich war davon ausgegangen, dass ich den Event an die Palette hängen kann.

Jetzt bekomme ich die notwendigen Informationen, würde aber aus hygienischen Gründen gerne beim Schliessen der Palette den EventListener wieder löschen. Nur: ich bekomme das Schliessen der Palette nicht mit! Noch eine Idee?


als Antwort auf: [#538379]

Palette: Anzeige des aktiven Dokument-Namens

J.Puff
Beiträge gesamt: 238

19. Apr 2015, 10:02
Beitrag # 6 von 6
Beitrag ID: #538905
Bewertung:
(1905 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Guten Morgen,
gibt es eine Möglichkeit beim Schliessen der Palette den EventListener wieder löschen. Derzeit bekomme das Schliessen der Palette als Event nicht mit! Danke für einen Tipp!
Johannes.


als Antwort auf: [#538379]
X

Aktuell

PDF / Print
pitstopPro_300

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
18.06.2024

Online
Dienstag, 18. Juni 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. 18.06.2024: So optimieren Sie Ihre Prozesse mit Enfocus Griffin 02.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. Phoenix Core 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
02.07.2024

Online
Dienstag, 02. 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. 18.06.2024: So optimieren Sie Ihre Prozesse mit Enfocus Griffin 02.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. Phoenix Core 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

Kontaktinformation: E-Mailschulungen AT impressed DOT de

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

So optimieren Sie Ihren LFP-Workflow