[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt On-"fertig mit Umbruch durch Umfließen"-EventListener?

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

On-"fertig mit Umbruch durch Umfließen"-EventListener?

pixelstaub
Beiträge gesamt: 128

2. Jul 2019, 11:33
Beitrag # 1 von 3
Bewertung:
(1710 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Liebe Scripting-Experten,
ich hänge aktuell an folgendem Problem:
Auf einer Seite befinden sich zwei Textrahmen – der obere Maintextrahmen ist Teil einer Textflusskette und reicht vom oberen bis zum unteren Seitenrand Der untere Textrahmen enthält eine Tabelle mit drei Zeilen, wobei der Inhalt von Zeile 0 und 2 zur Scriptlaufzeit verändert wird (siehe Screenshot).
https://bit.ly/324jOaB
Der Tabellenrahmen ändert seine Größe automatisch und wird umflossen. Dadurch ändert sich im Laufe der Bearbeitung natürlich auch der Inhalt des Maintex-Rahmens

Und genau da liegt mein Problem: wie kann ich abfangen, ob InDesign fertig mit dem Neu-Umbrechen des obigen Maintextes ist. Da ich mit Event-Listenern bisher noch nie gearbeitet habe: gibt es sowas wie einen "fertig mit Neuumbruch durch Umfließen"-Event-Listener, den ich (und falls ja: wie…) an meinen Maintext-Rahmen hängen kann?

Wie immer: vielen lieben Dank im Voraus und Grüße Stephan
X

On-"fertig mit Umbruch durch Umfließen"-EventListener?

Gerald Singelmann
  
Beiträge gesamt: 6269

3. Jul 2019, 10:00
Beitrag # 2 von 3
Beitrag ID: #570922
Bewertung:
(1650 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das wird knifflig.

TextFrame und Story haben bekanntlich als Events nur BEFORE_PLACE und AFTER_PLACE.

InDesign hat allerdings einen onIdle Event, der gefeuert wird, wenn InDesign angeblich grad nichts zu tun hat.

Die Grundstruktur ist
Code
    var myIdleTask = app.idleTasks.add({name:"gs_aufraeumen", sleep:500}); 
var onIdleEventListener = myIdleTask.addEventListener("onIdle", check_autoflow);

function check_autoflow() {
if (dbg) $.writeln( "Checking for Autoflow " + doc.pages.length )
if ( /* test, ob wirklich alles klar ist */ ) {
myIdleTask.sleep = 0;
do_whatever();
}
}


Ein Studium des entsprechenden Kapitels im InDesign Scripting Handbuches und etwas Zeit mit der Suchmaschine Ihrer Wahl wird aber wohl notwendig sein.

https://forums.adobe.com/thread/1193746 hier z.B. verwendet einer – soweit ich das auf die Schnelle richtig verstanden habe – den Preflight-Prozess und dessen activeProcess.waitForProcess(40) als Messung für "fertig".

Auch ein hoffnungsvoller Ansatz. Der Rumpf ist:
Code
  var preflight_profil = app.preflightProfiles.item( pf_name ); 
var myProcess = app.preflightProcesses.add(doc, preflight_profil);
myProcess.waitForProcess();
var myResults = myProcess.processResults;



als Antwort auf: [#570913]

On-"fertig mit Umbruch durch Umfließen"-EventListener?

pixelstaub
Beiträge gesamt: 128

3. Jul 2019, 12:55
Beitrag # 3 von 3
Beitrag ID: #570934
Bewertung:
(1629 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Lieber Herr Singelmann,

Sie Fuchs! Vielen Dank Ihnen! Der zweite Ansatz wirkt nach ersten Tests in der Tat sehr vielversprechend …

Beste Grüße
Stephan


als Antwort auf: [#570922]