Das wird denke ich nicht so einfach, bzw. unmöglich. Ein (lokaler) Druckauftrag landet ja meistens zunächst im Spooler, womit aus Sicht deiner Anwendung alles fertig und erledigt ist. Aber selbst der Spooler ist nicht das letzte Glied - manchmal kommt dann noch ein Printserver der Puffert, manche Drucker haben auch einen kleinen Printserver schon mit dabei. D.h. der Spooler ist ebenfalls meist früher "fertig" als der Druck selbst. Bei Netzwerk-Druckern kommen dann nochmal mögliche Vermittlerstellen dazu, und verkomplizieren das beliebig.
Mir ist bislang kein Weg bekannt dass man über diesen Rattenschwanz Meldungen von einem Drucker selbst bis in die eigene Anwendung zurück erhalten kann - geschweige denn dass solche erzeugt würden.
Ob der Druck fertig ist sieht der Anwender doch aber auch recht leicht: Wenn das Papier bedruckt im Ausgabeschacht liegt
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)