Drucken über Netzwerkdrucker

Click here for the English article.

Hinweise zum Drucken im Netzwerk

Erreichbarkeit der Netzwerkdrucker

List & Label versucht in der Standardeinstellung vor dem erstmaligen Ansprechen eines Druckers zunächst herauszufinden, ob es diesen überhaupt auf dem System gibt. Dies ist im Fall von Netzwerkdruckern normalerweise von Vorteil, wenn ein Projekt innerhalb eines Netzwerks genutzt wird, der für das Projekt benutzte Drucker aber nicht für alle Arbeitsstationen verfügbar ist. Wenn in einem solchen Fall der Drucker ohne Prüfung verwendet wird, führen Versuche, einen nicht erreichbaren Drucker anzusprechen, zu Zeitverzögerungen beim Drucken, da Netzwerk-Timeouts hinzukommen, die im Bereich von 20-30 Sekunden liegen können. In einem solchen Fall ist die vorherige Überprüfung also vorteilhaft, denn dann stellt List & Label sehr schnell fest, dass der Drucker an der lokalen Arbeitsstation nicht verfügbar ist und schaltet auf den Standard-Drucker um.

Wenn sichergestellt ist, dass der Drucker von allen Arbeitsstationen aus erreichbar ist (bzw. erreichbar sein soll), dann kann die Prüfung unterdrückt werden, indem die Option LL_OPTION_NOPRINTERPATHCHECK auf “True” gestellt wird. Durch das Setzen dieser Option kann in diesem Fall dann auch die Geschwindigkeit beim Druck leicht verbessert werden. Die Voreinstellung der Option ist “False”.

Weitere Hinweise zu dieser Option befinden sich in der Programmierer-Referenz.

Timeouts und Caching

Die druckerspezifischen Einstellungen (Druckergerätekontexte) werden normalerweise zwischengespeichert. Dies ist aus Performancegründen normalerweise von Vorteil. Kommt es jedoch zwischenzeitlich zu einem Abbruch der Netzwerkverbindung, kann das Caching zu unerwartetem Verhalten führen. Zudem gibt es Drucker, die ihren Druck erst nach dem Schließen des Druckergerätekontextes starten, in welchem Fall der Druck für den Anwender tatsächlich länger dauern würde. Für diese Fälle lässt sich das Caching durch das Setzen folgender Option deaktivieren:

define LL_OPTION_PRINTERDCCACHE_TIMEOUT_SEC (214 ) /\* default: 60 (0 → no cache) \*/

Weitere Hinweise zu dieser Option befinden sich in der Programmierer-Referenz.

Remotedesktopverbindung (RDP)

Über RDP (mstsc.exe) können die lokalen Drucker (und damit immer auch alle lokalen Netzwerkdrucker) umgeleitet werden, wobei damit auch der lokal konfigurierte Standarddrucker verwendet wird. Weitere Details zur Konfiguration und Alternativen werden im Microsoft-Artikel Konfigurieren der Druckerumleitung über das Remotedesktopprotokoll beschrieben.

Die Druckerumleitung des lokalen Druckers über RDP kann zu größeren Verzögerungen und im Ausnahmefall auch zu Timeouts führen. Wie im Microsoft-Artikel beschrieben, werden auch lokale Netzwerkdrucker umgeleitet und demnach kann im Extremfall ein Drucker eine “doppelte” Umleitung erfahren, nämlich im ersten Schritt über RDP und im zweiten auf den Netzwerkdrucker. Kommt es also beim Druck zu langen Wartezeiten oder Timeouts, so sollte die Umleitung der Netzwerkdrucker in den Einstellungen der Remotedesktopverbindung zumindest testweise deaktiviert werden.

Netzwerkdrucker und Webservices

Wenn ein Drucker im Kontext des Webservices nicht angezeigt wird, könnte dies daran liegen, dass der Windows-Benutzer die verfügbaren Drucker nicht sehen kann. Zuerst sollte also geprüft werden, unter welchem Windows-Benutzer der Webservice gestartet wurde und ob dieser Zugriff auf den angeforderten (Netzwerk-)Drucker hat. Die Anpassung des Windows-Benutzers erfolgt über den Service bzw. den Webserver. Bei Verwendung von
Internet Information Services (IIS) kann der Benutzer beispielsweise über den Anwendungspool im Informationsdienste (IIS)-Manager angepasst werden.

Allgemeine Hinweise

Werden Projektdateien von verschiedenen Nutzern / Arbeitsstationen gleichzeitig genutzt und diese in einem Netzlaufwerk gespeichert, kann es aufgrund gleicher Namensgebung der Dateien zu Konflikten kommen. Gleiches gilt für das Speichern der Druckereinstellungen in der sogenannten P-Datei (Druckereinstellungsdatei) von List & Label. Eine genauere Beschreibung und was dagegen unternommen werden kann, befindet sich in der Programmierer-Referenz.