[GastForen Programme Print/Bildbearbeitung Adobe InDesign Skriptwerkstatt Event "BeforeExport" das pdfPageLayout ändert kommt zu spät

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

Event "BeforeExport" das pdfPageLayout ändert kommt zu spät

Stephan_M
Beiträge gesamt: 480

20. Nov 2021, 17:48
Beitrag # 1 von 15
Bewertung:
(9391 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo,

Ich habe in der Forum-Suche alle alten Posts mit "BeforeExport" gefunden, aber keine Lösung erhalten.

Ich versuche mit einem BeforeExport-Event in Indesign vor der Erzeugung eines PDF noch schnell die Einstellung für die PDF-Seitenanzeige (app.pdfExportPreferences.pdfPageLayout) zu ändern. Ich versuche zu automatisieren ob es "Doppelseiten-Darstellung", oder "Doppelseiten-mit-Cover-Darstellung" einstellt, je nachdem ob die .pageRange mit einer ungerade oder geraden Seiten beginnt.

Leider kommt die Umstellung des pdfPageLayout zu spät. Dieses Skript unten funktioniert beinahe - es stellt das application.pdfPageLayout auf das richtige gewünschte Format um, aber das PDF ist dann bereits erzeugt, mit der noch alten/falschen Einstellung.

Scheinbar ist das Export-Event schon unterwegs/abgefeuert und ich müsste eher die Einstellung des gerade alufenden Export(-Events) ??? ändern, anstatt application.pdfPageLayout. Leider hat das Event aber keine solche pdfExportPreferences-property die ich ändern könnte.

Außerdem habe ich Schwierigkeiten beim skripten, weil Adobe das Objektmodel aus ExtendScriptToolkit ausgebaut hat und weil es nicht mehr zur Laufzeit die Objekte untersuchen kann. Wie programmiert Ihr denn heute eigentlich Indesign Skripte?

Code
#targetengine "session" 

pageLayoutOnExport();

function pageLayoutOnExport(){
var myApplicationEventListener = app.eventListeners.add("beforeExport", setPageLayout);
}

function setPageLayout(myEvent){
myExportFileName = myEvent.properties.fullName.toString();
myExportSuffix = myExportFileName.substring(myExportFileName.lastIndexOf("\."), myExportFileName.length);

if (myExportSuffix == '.pdf') {
theRange = app.pdfExportPreferences.pageRange.replace(/(^\d+)(.+$)/i,'$1');
// alert(theRange + " " + myEvent.properties.toSource());
// myEventInfo(myEvent)
if (app.pdfExportPreferences.pdfPageLayout == PageLayoutOptions.TWO_UP_COVER_PAGE || app.pdfExportPreferences.pdfPageLayout == PageLayoutOptions.TWO_UP_FACING) {
// myDoc = myEvent.parent;
if (parseInt(theRange)%2 == 1) {
alert('was odd: setting WITH COVERPAGE');
app.pdfExportPreferences.pdfPageLayout = PageLayoutOptions.TWO_UP_COVER_PAGE;
}
else {
alert('was even: setting DOUBLE PAGES');
app.pdfExportPreferences.pdfPageLayout = PageLayoutOptions.TWO_UP_FACING;
}
}
}
}

X

Event "BeforeExport" das pdfPageLayout ändert kommt zu spät

WernerPerplies
Beiträge gesamt: 2759

21. Nov 2021, 07:53
Beitrag # 2 von 15
Beitrag ID: #581780
Bewertung:
(9361 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,

Zitat Außerdem habe ich Schwierigkeiten beim skripten, weil Adobe das Objektmodel aus ExtendScriptToolkit ausgebaut hat und weil es nicht mehr zur Laufzeit die Objekte untersuchen kann.

Habe ich nie benutzt:
Mir fallen da zwei Möglichkeiten ein:
1. Breakpoint und Konsolenfenster
2. Ganz vornehm:
Meldungen über ein nicht modales Fenster ausgeben. Ich verwende dafür ein MultilineEdit.


als Antwort auf: [#581774]

Event "BeforeExport" das pdfPageLayout ändert kommt zu spät

Stephan_M
Beiträge gesamt: 480

21. Nov 2021, 18:52
Beitrag # 3 von 15
Beitrag ID: #581785
Bewertung:
(9269 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat 1. Breakpoint und Konsolenfenster


Das ist ja der Haken, ich kann keine Verbindung zwischen ESTK und Indesign mehr herstellen, um während der Laufzeit Objekte zu untersuchen.
Das Nicht-Modale Fenster, ja, ich brächte zwei Wochen um das ans Laufen zu kriegen.
Naja, sollte nur ne kleine Bastelei sein. Nicht so wichtig.
Danke, Werner.


als Antwort auf: [#581780]

Event "BeforeExport" das pdfPageLayout ändert kommt zu spät

Martin Fischer
  
Beiträge gesamt: 12778

21. Nov 2021, 22:03
Beitrag # 4 von 15
Beitrag ID: #581787
Bewertung:
(9233 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

Zitat von Stephan_M Außerdem habe ich Schwierigkeiten beim skripten, weil Adobe das Objektmodel aus ExtendScriptToolkit ausgebaut hat und weil es nicht mehr zur Laufzeit die Objekte untersuchen kann. Wie programmiert Ihr denn heute eigentlich Indesign Skripte?


Eine Alternative zu ExtendScript Toolkit ist Visual Studio Code
in Kombination mit der Extension ExtendScript Debugger.

Siehe auch Announcing ExtendScript Debugger for Visual Studio Code.


als Antwort auf: [#581785]

Event "BeforeExport" das pdfPageLayout ändert kommt zu spät

Stephan_M
Beiträge gesamt: 480

22. Nov 2021, 02:25
Beitrag # 5 von 15
Beitrag ID: #581789
Bewertung:
(9203 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Oh, vielen Dank, das sieht vielversprechend aus, ich glaube das kriege ich ans laufen (den vielen schlechten Bewertungen der ESTK-Debugger-Erweiterung zum Trotz). Arbeitest Du damit, Martin?


als Antwort auf: [#581787]

Event "BeforeExport" das pdfPageLayout ändert kommt zu spät

Martin Fischer
  
Beiträge gesamt: 12778

22. Nov 2021, 08:07
Beitrag # 6 von 15
Beitrag ID: #581790
Bewertung:
(9143 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
VSC schätze ich besonders als mächtigen, erweiterbaren und anpassungsfähigen Editor.

Und wenn sich der Debugger mal verheddert, dann ist in der Regel nach einem Neustart von VSC und/oder InDesign alles wieder gut.

Andersherum gefragt: gibt es eine (vergleichbare) Alternative?


als Antwort auf: [#581789]

Event "BeforeExport" das pdfPageLayout ändert kommt zu spät

Uwe Laubender
Beiträge gesamt: 5314

22. Nov 2021, 09:32
Beitrag # 7 von 15
Beitrag ID: #581792
Bewertung:
(9123 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat von Stephan Das ist ja der Haken, ich kann keine Verbindung zwischen ESTK und Indesign mehr herstellen, um während der Laufzeit Objekte zu untersuchen.


Hallo Stephan,
mit welcher Version von InDesign und mit welchem Betriebssystem bist Du unterwegs?

Übrigens: Es wird hoffentlich bald eine neue Version des Debuggers für VSCode geben. Macht euch mal im Prerelease schlau.

How to Join Creative Cloud Prerelease Programs
Erin Finnegan, Oct 18, 2019

https://medium.com/...rograms-ccecc10ae7d3


als Antwort auf: [#581785]

Event "BeforeExport" das pdfPageLayout ändert kommt zu spät

WernerPerplies
Beiträge gesamt: 2759

22. Nov 2021, 10:08
Beitrag # 8 von 15
Beitrag ID: #581793
Bewertung:
(9111 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,

irgend etwas muss mir entgangen sein, ich habe jetzt extra die 2022 installiert und für mich funktioniert alles wie gehabt:

Editieren in VSCode und ESTK-Editor, debuggen im ESTK-Editor.


als Antwort auf: [#581792]

Event "BeforeExport" das pdfPageLayout ändert kommt zu spät

Martin Fischer
  
Beiträge gesamt: 12778

22. Nov 2021, 10:31
Beitrag # 9 von 15
Beitrag ID: #581794
Bewertung:
(9083 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Antwort auf [ Werner Perplies ] Editieren in VSCode und ESTK-Editor, debuggen im ESTK-Editor.


Vermutlich sind nur die Mac-Versionen von der Einstellung der Unterstützung des ESTK (Ausschluss der Unterstützung von 32-Bit Programmen seit macOS 10.15) betroffen.


Zitat von Adobe Tech Blog Apple just recently released macOS 10.15 Catalina. As has been telegraphed for a few macOS versions, 32-bit applications no longer work on Catalina. ExtendScript Toolkit (a standalone 32-bit application for creating and debugging scripts for flagship Creative Cloud applications) will not launch or function on machines that have macOS Catalina installed.
To address the fact that ESTK is a 32-bit application, we created and released the VSCode ExtendScript Debugger plugin earlier this year.

ESTK and macOS 10.15 Catalina


als Antwort auf: [#581793]

Event "BeforeExport" das pdfPageLayout ändert kommt zu spät

WernerPerplies
Beiträge gesamt: 2759

22. Nov 2021, 10:37
Beitrag # 10 von 15
Beitrag ID: #581796
Bewertung:
(9077 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Ok, das erklärt warum ich keine Probleme habe.
Danke.


als Antwort auf: [#581794]

Event "BeforeExport" das pdfPageLayout ändert kommt zu spät

Stephan_M
Beiträge gesamt: 480

2. Dez 2021, 14:30
Beitrag # 11 von 15
Beitrag ID: #581875
Bewertung:
(8777 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
@Werner Perplies
Sie sagen Ihr ESTK CC in Windows10 bekommt kein komische Verhalten bei dem Versuch im "Objekt-Modell-Viewer" das Objektmodel "Indesign 2022" aufzurufen? ihr ESTK stürzt nicht ab, wenn Sie ein Script mit #target "InDesign" versuchen Zeile-für-Zeile auszuführen?
Das läuft alles bei Ihnen noch?


als Antwort auf: [#581796]

Event "BeforeExport" das pdfPageLayout ändert kommt zu spät

WernerPerplies
Beiträge gesamt: 2759

2. Dez 2021, 14:38
Beitrag # 12 von 15
Beitrag ID: #581876
Bewertung:
(8768 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Moin,

Zitat Sie sagen Ihr ESTK CC in Windows10 bekommt kein komische Verhalten bei dem Versuch im "Objekt-Modell-Viewer" das Objektmodel "Indesign 2022" aufzurufen? ihr ESTK stürzt nicht ab, wenn Sie ein Script mit #target "InDesign" versuchen Zeile-für-Zeile auszuführen?
Das läuft alles bei Ihnen noch?


Ja, es gibt aber eine Auffälligkeit seit einigen InDesign-Versionen (seit wann genau weiß ich nicht):
Beim erstmaligem Laden eines InDesign-Objektes bleibt das ESTK vermeintlich beim Laden hängen, nach Beenden des ESTKs und erneutem Programmstart funktioniert alles wie erwartet.


als Antwort auf: [#581875]

Event "BeforeExport" das pdfPageLayout ändert kommt zu spät

Stephan_M
Beiträge gesamt: 480

2. Dez 2021, 15:10
Beitrag # 13 von 15
Beitrag ID: #581879
Bewertung:
(8737 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Besten Dank für die Infos. Ich versuch's mal mit Neuinstallation :/


als Antwort auf: [#581876]

Event "BeforeExport" das pdfPageLayout ändert kommt zu spät

Uwe Laubender
Beiträge gesamt: 5314

3. Dez 2021, 11:59
Beitrag # 14 von 15
Beitrag ID: #581888
Bewertung:
(8627 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Zitat von Werner Beim erstmaligem Laden eines InDesign-Objektes bleibt das ESTK vermeintlich beim Laden hängen, nach Beenden des ESTKs und erneutem Programmstart funktioniert alles wie erwartet.


Hallo Werner,
das habe ich auch schon beobachtet.
Ich hab' mal eine geschlagene Viertelstunde gewartet, dass mir das ESTK endlich das Ende des Ladevorgangs des Objektmodells anzeigt. Das graue Verknüpfungssymbol wollte nicht grün werden.

Beim nächsten Aufruf des ESTKs war's einfach vollständig geladen.


als Antwort auf: [#581876]

Event "BeforeExport" das pdfPageLayout ändert kommt zu spät

Dirk Becker
Beiträge gesamt: 193

5. Dez 2021, 21:40
Beitrag # 15 von 15
Beitrag ID: #581902
Bewertung:
(8361 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Stephan,

event-uell funktionieren die üblichen Kandidaten (kann das gerade nicht ausprobieren):

event.stopPropagation();
event.preventDefault();

Danach kann das Script den Export nochmal ausführen, man sollte dann natürlich den Eventhandler vermeiden ...

Grüße,
Dirk


als Antwort auf: [#581774]
X