[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: 477

20. Nov 2021, 16:48
Beitrag # 1 von 15
Bewertung:
(1069 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: 2669

21. Nov 2021, 06:53
Beitrag # 2 von 15
Beitrag ID: #581780
Bewertung:
(1039 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.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign Alle neuen Skripte mit
neu: WpsProjectHandler 31.05.2020, Version 3.XX, neue Funktionen.
MultiSave ist Bestandteil meines WpsProjecthandlers
neu: WpsEanInTables, WpsSaRInHyperlinks
Kundenstimmen


als Antwort auf: [#581774]

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

Stephan_M
Beiträge gesamt: 477

21. Nov 2021, 17:52
Beitrag # 3 von 15
Beitrag ID: #581785
Bewertung:
(947 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: 12503

21. Nov 2021, 21:03
Beitrag # 4 von 15
Beitrag ID: #581787
Bewertung:
(911 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.

Viele Grüße
Martin




als Antwort auf: [#581785]

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

Stephan_M
Beiträge gesamt: 477

22. Nov 2021, 01:25
Beitrag # 5 von 15
Beitrag ID: #581789
Bewertung:
(881 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: 12503

22. Nov 2021, 07:07
Beitrag # 6 von 15
Beitrag ID: #581790
Bewertung:
(821 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?

Viele Grüße
Martin




als Antwort auf: [#581789]

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

Uwe Laubender
Beiträge gesamt: 5029

22. Nov 2021, 08:32
Beitrag # 7 von 15
Beitrag ID: #581792
Bewertung:
(801 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
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#581785]

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

WernerPerplies
Beiträge gesamt: 2669

22. Nov 2021, 09:08
Beitrag # 8 von 15
Beitrag ID: #581793
Bewertung:
(789 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.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign Alle neuen Skripte mit
neu: WpsProjectHandler 31.05.2020, Version 3.XX, neue Funktionen.
MultiSave ist Bestandteil meines WpsProjecthandlers
neu: WpsEanInTables, WpsSaRInHyperlinks
Kundenstimmen


als Antwort auf: [#581792]

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

Martin Fischer
  
Beiträge gesamt: 12503

22. Nov 2021, 09:31
Beitrag # 9 von 15
Beitrag ID: #581794
Bewertung:
(761 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

Viele Grüße
Martin




als Antwort auf: [#581793]

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

WernerPerplies
Beiträge gesamt: 2669

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

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign Alle neuen Skripte mit
neu: WpsProjectHandler 31.05.2020, Version 3.XX, neue Funktionen.
MultiSave ist Bestandteil meines WpsProjecthandlers
neu: WpsEanInTables, WpsSaRInHyperlinks
Kundenstimmen


als Antwort auf: [#581794]

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

Stephan_M
Beiträge gesamt: 477

2. Dez 2021, 13:30
Beitrag # 11 von 15
Beitrag ID: #581875
Bewertung:
(455 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: 2669

2. Dez 2021, 13:38
Beitrag # 12 von 15
Beitrag ID: #581876
Bewertung:
(446 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.

Einen schönen Tag wünscht

Werner Perplies
Auftragsprogrammierung und Skripte für Adobe InDesign Alle neuen Skripte mit
neu: WpsProjectHandler 31.05.2020, Version 3.XX, neue Funktionen.
MultiSave ist Bestandteil meines WpsProjecthandlers
neu: WpsEanInTables, WpsSaRInHyperlinks
Kundenstimmen


als Antwort auf: [#581875]

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

Stephan_M
Beiträge gesamt: 477

2. Dez 2021, 14:10
Beitrag # 13 von 15
Beitrag ID: #581879
Bewertung:
(415 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: 5029

3. Dez 2021, 10:59
Beitrag # 14 von 15
Beitrag ID: #581888
Bewertung:
(305 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.
*****
Mit herzlichem Gruß,
Uwe Laubender


als Antwort auf: [#581876]

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

Dirk Becker
Beiträge gesamt: 176

5. Dez 2021, 20:40
Beitrag # 15 von 15
Beitrag ID: #581902
Bewertung:
(39 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

Aktuell

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
05.11.2021 - 10.12.2021

Digicomp Academy AG, Zürich
Freitag, 05. Nov. 2021, 13.00 Uhr - Freitag, 10. Dez. 2021, 19.00 Uhr

Lehrgang

Im berufsbegleitenden Web Publisher Lehrgang vertiefen Sie Ihr Wissen rund um das Thema Screendesign und die Umsetzung von Websites. Wir befähigen Sie dazu selbständig und professionell Ihren Webauftritt zu planen und in die Realität umzusetzen.

Preis: 3'250.– zzgl. 7.7% MWST
Dauer: 8.5 Tage (ca. 56 Lektionen) – Unterricht findet jeweils am Freitag von 13 - 19 Uhr und Samstag von 09 - 17 Uhr statt

Ja

Organisator: Digicomp Academy AG

Kontaktinformation: Kundenberater-Team, E-Mailkundenberatung AT digicomp DOT ch

digicomp.ch/d/9PWEB

Veranstaltungen
14.02.2022

Zürich, Online
Montag, 14. Feb. 2022, 07.30 - 18.00 Uhr

Word Press / Digitalisierung / Selbständigkeit

Digitalisierung und KMU's in der Schweiz Leistungsfähig im Zeitalter der Digitalisierung Machine Learning Künstliche Intelligenz CRM Change Management Kommunikation im Betrieb Kommunikation digitale Medien Digitale Vertriebsmodelle

Ja

Organisator: B. Isik

Kontaktinformation: B. Isik / Daniela Lovric, E-Mailinfo AT snfa DOT ch

https://www.fernstudiumfitness.ch/website-mit-wix-erstellen/