Bekannte Probleme beim clientseitigen Rendering

Das clientseitige Rendering ist standardmäßig für alle Treiber aktiviert, da es für die meisten Druckertreiber transparent ist und dem Benutzer einen eindeutigen Vorteil bietet. Bei den meisten Druckertreibern treten keine Probleme auf, wenn dieses Feature aktiviert ist.

Wenn beim Druckertreiber jedoch ein Problem auftritt, können Sie die clientseitige Renderingfunktion deaktivieren, und der Druckertreiber rendert den Druckauftrag auf dem Druckserver wie bei früheren Versionen des Windows-Betriebssystems. Systemadministratoren können auch das clientseitige Rendering deaktivieren, indem sie die Richtlinie Druckaufträge immer für die Servergruppe rendern verwenden.

Hinweis

Wenn Sie das clientseitige Renderingfeature deaktivieren, wird das Rendering des Druckauftrags auf den Druckserver verschoben, was sich negativ auf die Leistung des Druckservers auswirken kann.

Druckertreiber, die in einem Treiberpaket installiert sind, haben kein Problem mit dem clientseitigen Rendering.

In der folgenden Liste werden einige der bekannten Probleme beim clientseitigen Rendering beschrieben:

  • Das clientseitige Rendering wird automatisch deaktiviert, wenn der Druckertreiber einen benutzerdefinierten Druckprozessor verwendet, der Druckprozessor jedoch nicht auf dem Clientcomputer installiert ist.

    In einigen Fällen wird der Druckprozessor eines Druckertreibers, der nicht als Treiberpaket konfiguriert ist, während Point and Print möglicherweise nicht auf dem Clientcomputer installiert. Wenn der Druckspooler ein Problem erkennt, deaktiviert er das clientseitige Rendering für diese Druckwarteschlange. Um dieses Problem zu vermeiden, erstellen Sie ein Treiberpaket für den Druckertreiber.

  • Das clientseitige Rendering für die Druckwarteschlange ist deaktiviert, wenn der Druckprozessor einen Fehler zurückgibt.

    Nachdem das clientseitige Rendering für die Druckwarteschlange deaktiviert wurde, versucht der Druckspooler den Druckauftrag mithilfe des serverseitigen Renderings erneut. Nachdem das clientseitige Rendering für die Druckwarteschlange deaktiviert wurde, hat die Druckwarteschlange keine der clientseitigen Renderingvorteile mehr, z. B. offline drucken.

  • Druckerkonfigurationsdaten für Druckertreiber, die nicht standardmäßige Konfigurationsdaten verwenden, sind möglicherweise unvollständig.

    Point and Print übertragen möglicherweise nicht die vollständigen Druckerkonfigurationsdaten von Druckertreibern, die proprietäre Methoden zum Speichern und Kommunizieren dieser Daten verwenden. Sie können dieses Problem beheben, indem Sie die Funktion SetPrinterData oder SetPrinterDataEx zum Speichern von Druckerkonfigurationsdaten verwenden und die Funktion GetPrinterData oder GetPrinterDataEx verwenden, um Druckerkonfigurationsdaten abzurufen. Weitere Informationen zu diesen Funktionen finden Sie in der Dokumentation zu Microsoft Windows SDK.

  • Clientseitiges Rendering mit einem Treiberkonflikt.

    Ein Druckertreiberkonflikt liegt vor, wenn der Clientcomputer über eine andere Version des Druckertreibers als der Server verfügt. Wenn ein Druckertreiberkonflikt auftritt, aktualisiert Point and Print in der Regel den Druckertreiber auf dem Clientcomputer so, dass er mit dem Druckertreiber auf dem Server übereinstimmt. In einigen Situationen möchten Sie möglicherweise, dass die Druckwarteschlange auf dem Clientcomputer eine Drucktreiberversion verwendet, die nicht mit der Druckertreiberversion auf dem Druckserver übereinstimmt. Beispielsweise möchten Sie möglicherweise nicht, dass Point and Print den Druckertreiber auf dem Clientcomputer aktualisiert:

    • Wenn beim Ausführen auf dem Clientcomputer ein Kompatibilitätsproblem mit dem Druckertreiber auf dem Druckserver vorliegt.
    • So verringern Sie den Netzwerkdatenverkehr, der beim Herunterladen des neuen Druckertreibers durch Point and Print entsteht.
    • Beim Debuggen oder Testen.

    Sie können das Herunterladen des Druckertreibers durch Point and Print verhindern und den Clientcomputer zwingen, stattdessen den besten Treiber zu verwenden, der bereits auf dem Clientcomputer installiert ist. Um dieses Verhalten auszuwählen, legen Sie den Wert des Registrierungsschlüssels HKLM\SYSTEM\CurrentControlSet\Control\Print\PrinterName\PrinterDriverData\DriverPolicy auf den Namen des Druckertreibers fest. Ersetzen Sie PrinterName durch den Namen einer Druckwarteschlange, um einen lokal verfügbaren Druckertreiber anstelle des Druckertreibers zu verwenden, der auf dem Druckserver verfügbar ist. Der Treibername, den Sie in diesem Registrierungsschlüssel eingeben, muss der Name eines kompatiblen Druckertreibers sein, der auf dem Clientcomputer installiert oder für die Installation verfügbar ist.

    Sie können auch programmgesteuert eine Druckerverbindung mit einem Druckertreiberkonflikt erstellen, indem Sie AddPrinterConnection2 aufrufen, das flag PRINTER_CONNECTION_MISMATCH festlegen und den Namen des Druckertreibers in der PRINTER_CONNECTION_INFO_1 Struktur angeben, auf die das pConnectionInfo-Argument verweist. AddPrinterConnection2 ist in der Windows SDK-Dokumentation dokumentiert.

  • Ab Windows 8 wird das clientseitige Rendering automatisch deaktiviert, wenn der EMFDespoolingSetting-Wert in der Registrierung nicht vorhanden ist und das Clientcomputerprofil mobile Plattform ist.

    Wenn es sich bei dem Client um eine mobile Plattform handelt, z. B. ein Laptop- oder Tablet-Gerät, deaktiviert der Spooler das clientseitige Rendering automatisch, wenn dieser Wert nicht in der Registrierung vorhanden ist, um die Einsparung beim Stromverbrauch zu ermöglichen. Sie können das clientseitige Rendering für die mobile Plattform explizit im Treiber aktivieren, indem Sie SetPrinterData aufrufen, um den EMFDespoolingSetting-Wert der Druckwarteschlange auf 0 festzulegen.

    Mithilfe von msinfo32.exe können Sie überprüfen, ob Ihr Computer als Mobile- oder Desktopprofil konfiguriert ist:

    Screenshot des profils msinfo32.exe.

Wenn Sie während des Tests ein Problem mit Dem Druckertreiber feststellen, das das clientseitige Renderingfeature möglicherweise verursacht hat, können Sie das clientseitige Rendering für Ihren Treiber deaktivieren. Sie können das clientseitige Rendering im Treiber deaktivieren, indem Sie SetPrinterData aufrufen, um den EMFDespoolingSetting-Wert der Druckwarteschlange auf 1 festzulegen. Dieser Wert bewirkt, dass alle Clients, die eine Verbindung mit der Druckwarteschlange herstellen, die Druckaufträge auf dem Server rendern.