- Offizieller Beitrag
Folgendes Szenario:
Eine Anwendung generiert Ausdrucke automatisch als PDF. Dazu bekommt das Dokument als Name: Typ + Belegnummer (z.B. "VAN1002003.pdf" für Verkauf Angebot Nr. 1002003). Ich möchte nun gerne auf den Druckbefehl reagieren und die PDF mit zusätzlichen Informationen umbenennen (KDNr_TypBelegNr_Timestamp.pdf). Diese zusätzlichen Infos stehen nur im Moment des Druckauftrages zur Verfügung, danach wechselt der User auf einen anderen Kunden.
Ich stelle mir also folgendes Vorgehen vor:
- Druckbefehl?
- Zusatzinfo auslesen (Kundennummer)
- Typ und Belegnummer auslesen
- warten bis "TypBelegnummer.pdf" existiert
- umbenennen
Ich könnte permanent mit FileExist das Zielverzeichnis abfragen, würde aber lieber direkt auf das Druck-Event reagieren.
Den Start des Druckbefehls kann ich hoffentlich mit etwas Gefrickel über die Existenz des Druckdialogs abfragen. Wobei das schon ziemlich abenteuerlich ist, da die Anwendung nur ein einziges echtes Fenster besitzt. Alles andere sind Delphi-Controls. Aber die Existenz alleine darf den Prozeß nicht auslösen, der User kann ja evtl. auch nur in die Druckvorschau gehen und dann abbrechen. Ich brauche also das wirkliche Event "Signal an Drucker" und dann auch "Druck beendet".
Weiß jemand auf welche Events ich da lauschen muss?
Ich vermute, dass ich dort mit einem Hook ansetzen muss.