Drucken auf einem Mac über Remotedesktop nicht möglich

Drucken auf einem Mac über Remotedesktop nicht möglich

Lassen Sie mich meinen üblichen Einsatz erklären. Ich habe Kunden mit Windows, die Zebra-Drucker haben.

Wir installieren diese Drucker lokal mithilfe von generischen/Textdruckertreibern.

Sie stellen über Remotedesktop eine Verbindung zu meinem Windows 2008-Server her. Meine Anwendung sendet Roh-ZPL-II-Code (Text) an den Druckertreiber und alles funktioniert.

Ich habe jetzt einen Kunden mit MacOSX Yosemite 10.10.3. Er verwendet die Microsoft Remote Desktop-App zum Herstellen einer Verbindung. Ich kann den Zebra-Drucker in der Druckerliste sehen. Wenn meine Anwendung auf den Druckertreiber druckt, meldet die Mac-Spool „PostScript-Datei kann nicht konvertiert werden“. Das ist „normal“, da ich Rohtext an den Drucker sende.

PostScript-Datei kann nicht konvertiert werden

Ich habe dann versucht, in MacOS einen Raw-Drucker hinzuzufügen, aber er wird nicht im Remotedesktop angezeigt.

Was soll ich machen?

Antwort1

Unter OSX gibt es keinen generischen Textdrucker.
OSX behandelt JEDEN Drucker intern auf Betriebssystemebene als Postscript. Anschließend konvertiert es die Postscript-Ausgabe in die vom Drucker benötigte Sprache (in Ihrem Fall ZPLII).

Die Remotedesktop-App erkennt also einen „Postscript“-Drucker unter OSX und teilt dies Ihrem Windows-Server mit. (Windows erkennt ihn normalerweise als „MS ImageSetter-Gerät“, also einen generischen Postscript-Drucker.)

Ihre Anwendung ignoriert dies und überträgt das RAW-ZPLII trotzdem an den Mac, aber der Mac hat mit dem Empfang von Postscript gerechnet, daher Ihre Fehlermeldung beim Versuch, die Postscript-Datei zu interpretieren (die eigentlich kein Postscript, sondern ZPLII ist).

Das ist ärgerlich, weil es da keinen einfachen Weg gibt, das zu umgehen.

Wenn der Kundendrucker ein Netzwerkdrucker ist (ich glaube, die GXxxxt-Modelle haben die normale Zebra-LAN-Schnittstelle), können Sie dem Kunden möglicherweise die Roh-ZPL-Datei bereitstellen und den Kunden bitten, sie mit dem guten alten lpr-Befehl manuell an den Drucker zu senden. Der Kunde müsste dazu etwas wie das Folgende in einer Befehlszeile im Terminal ausführen:

lpr -H <ip-address printer> -P PORT1LF -l <filename of ZPL-file>

Bitte beachten: Bei -H und -P wird zwischen Groß- und Kleinschreibung unterschieden!! „-l“ ist ein kleines L.
-H (Hostname) gibt die IP-Adresse des Druckers an, -P den Warteschlangennamen, -l bedeutet „Datei ist bereits formatiert, Inhalt nicht verändern“.

Bitte beachten (2): PORT1LF ist der normale Warteschlangenname, der intern von Zebra-LAN-Schnittstellen verwendet wird. Wenn Zebra keine Zebra-LAN-Schnittstelle, sondern eine andere Marke verwendet, müssen Sie für den Parameter -P normalerweise „auto“ oder „text“ verwenden. Konsultieren Sie das Handbuch.

EDIT hinzugefügt nach einigen Recherchen
Unter OSX können Sie eine sogenannte "RAW"-Druckerwarteschlange mit dem Kommandozeilentool lpadmin oder über die CUPS-Weboberfläche unterhttp://localhost:631.
Allerdings werden solche RAW-Drucker in OSX nicht als normale Drucker angezeigt, da OSX-GUI-Anwendungen unbedingt einen Postscript-Drucker benötigen. Für Nicht-Postscript-Drucker bietet CUPS einen Postscript-Konverter, der Postscript in etwas übersetzt, das der Nicht-Postscript-Drucker versteht.
Für einen RAW-Drucker kann diese Konvertierung in Postscript nicht durchgeführt werden, daher werden RAW-Drucker OSX-GUI-Anwendungen nicht als gültige Druckgeräte angeboten. (Sie können mit den Befehlszeilen-Drucktools wie lpq, lpr usw. verwendet werden.)
Und deshalb leitet KEIN RDP-Client unter OSX sie weiter! Sie leiten nur normale Drucker weiter.
(Technisch gibt es keinen Grund, warum der RDP-Client einen RAW-Drucker (unter Verwendung der altmodischen Unix-Lpr/lpq-Behandlung) nicht über RDP als „generischen/Nur-Text“-Drucker für Windows präsentieren könnte. Aber es würde zusätzliche Programmierung erfordern, um dies zu ermöglichen. Und da diese spezielle Verwendung eine sehr kleine Nische ist, werde ich dies nicht so bald erleben.)

Ihr einziger Workaround ist meines Erachtens der, den ich bereits erwähnt habe. Übergeben Sie die Datei dem Benutzer und lassen Sie ihn sie lokal mit lpr drucken.
Der Drucker ist per USB angeschlossen, aber das ist kein Problem. Über die CUPS-Weboberfläche können Sie einen USB-Drucker als Raw-Druckwarteschlange einrichten. Teil dieser WebseiteFügen Sie eine Rohdruckwarteschlange hinzu, Sie benötigen nur die Schritte 3 bis 7erklärt, wie das geht. Es wird sogar ein Zebra als Beispiel verwendet.

Antwort2

Ich glaube, ich habe eine Antwort gefunden.

Sie müssen diese App herunterladen: https://www.peninsula-group.com/labeller-thermal-labelling-software/

Anschließend führen Sie die Demoversion aus und installieren daraus einen Drucker.

Anschließend wechselt ihr den Treiber von eurem ursprünglichen Zebra auf den neuen Treiber (9.1.14 von peninsula-group.com)

Beste grüße

verwandte Informationen