Hallo Skripter*innen! Ich möchte euch ein Skript zur Verfügung und Diskussion stellen, dass ich gerade geschrieben habe.
Ausgangslage: Wir haben in unserem Designbüro die berufstypische Unart, unsere Briefe, Konzepte etc. mit InDesign zu schreiben. Dafür nutzen wir eine Vorlage, in der die Gestaltung unseres gedruckten Briefpapiers sichtbar ist. Wenn ich nun ein/e Angebot, Rechnung, Konzept etc. per Mail verschicken will dann schreibe ich ein PDF und ab damit. Wenn ich das Dokument aber auf unser echtes Briefpapier drucke, blende ich die Ebene mit dem Druckdesign aus und drucke das Dokument. Problem: Natürlich vergesse ich meistens, die Ebene auszublenden und drucke dann das Druckdesign über das Offset gedruckte Briefpapier. Blöd. Endlich habe ich nun ein Skript geschrieben, dass dieses Problem löst. Skript: Suche die Ebene, die einen spezifischen Namen trägt. Ist die Ebene vorhanden, frage nach, ob die Ebene gedruckt werden soll, oder nicht. Blende sie entsprechend ein/aus und öffne den Druck-Dialog. Ist die Ebene nicht vorhanden, öffne den Druck-Dialog.
Ich habe mir dieses Skript auf Apfel-P gelegt und damit müsste alles gut sein.
Falls das hier jemand gebrauchen kann, viel Spaß damit! Falls jemand Verbesserungsvorschläge hat, her damit, ich lerne gerne!
Und eine Frage habe ich noch: Kann ich direkt abfragen, ob der Druck-Dialog geöffnet wird, und das Skript daran knüpfen? Denn wenn ich den Druck-Dialog über das Menü mit der Maus aufrufe, wird das Skript natürlich vorher nicht gestartet. Also statt einem Skript, dass den Druck-Dialog startet, möchte ich, dass der Druck-Dialog das Skript startet. Geht das? In etwa wie? (Habe es nicht gefunden, aber auch nicht lange gesucht, ehrlich gesagt.)
So, viel Spaß mit dem Skript und Beste Grüße aus der Gutenbergstadt Mainz, Simon
Nette Idee. Wenn es ganz komfortabel werden soll, könnte das Script zu den Startup-Scripten und ein Eventlistener für den Druckbefehl und für den Export eingefügt werden. Ist jemand so lieb und kann den Eventlistener für Drucken und für den (PDF-)Export ergänzen?
Hallo Ingo, das wäre ja eigentlich meine Idee gewesen. Aber ich habe keinen Plan, wie ich das anstelle. Ich bin soweit, dass es irgendwie mit EventListener zu tunhat und das beforePrint mir weiterhelfen kann. Aber leider ist mir das Konzept der eventListener fremd, ich habe sie schon öfter in Skripten gesehen, aber keinen Überblick, wie ich die selber einsetzen kann. Mein Ansatz geht dahin:
Ich habe auch keine Ahnung, wie man das richtig macht, aber hier mal ein Versuch:
Was mir nicht gefällt: 1. Der Anwender könnte beim Drucken auf "Abbrechen" klicken > dann bleibt die vom Skript gesetzte Einstellung 2. Der Anwender hat gedruckt und dann bleibt ebenfalls die Einstellung
Frage: Braucht es ein zweites Event "afterPrint", damit man "lay.visible = status" setzen kann? Funktioniert das auch bei Abbrechen?
Merke gerade, dass ich das Prüfen der Ebene mit .isValid vergessen habe; kann man ja aber noch nachholen.
Gruß Kai Rübsamen
(Dieser Beitrag wurde von Kai Rübsamen am 20. Feb 2017, 14:39 geändert)
Hallo Kai, vielen Dank erstmal. Ich sehe, ich muss mich in die Thematik EventHandler mal wo einlesen (kennt jemand eine gute Einführung dazu?). Grundsätzlich funktioniert das Skript ja, wobei ich beim Start von ID noch eine Fehlermeldung bekomme »fehlender erforderlicher Parameter "handler" für Methode "addEventListener". Vermutlich, weil kein Dokument geöffnet ist?
Deine Bedenken bzgl. Status bei Abbruch etc. kann ich grundsätzlich nachvollziehen und finde sie eine wichtige Ergänzung. Im konkreten Fall ist es jedoch wurst, weil bei erneutem Drucken erneut gefragt wird. Einzig bräuchte ich jetzt das gleiche Skript, bei Export ins PDF, das die Ebene dann wieder einblendet. Aber dafür liegen alle Bausteine oben parat, würde ich sagen.
Insgesamt fänd ich ja prima, wenn man dieses Skript an das Dokument / Vorlagedokument knüpfen könnte. Wenn ich zwei Tage keine Briefpapier-Dokumente öffne, bräuchte ich das Skript ja nicht. Ach, aber da kommen wir jetzt in den Bereich sinnloses Wunschkonzert und Skripten als Selbstzweck.
Also von meiner Seite bin ich glücklich! Wer hier noch weiter Hinschmalz investieren will – gerne! Aber bitte nur aus sportlichen Gründen, nicht um mir zu helfen ;-)