Direktdruck auf Zebra auf einem Mac über Remote Desktop nicht möglich

1591
vIceBerg

Lassen Sie mich meinen üblichen Einsatz erläutern. Ich habe Kunden unter Windows, die über Zebra-Drucker verfügen.

Wir installieren diesen Drucker lokal mit den Druckertreibern "Generic / Text".

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

Ich habe jetzt einen Kunden für MacOSX Yosemite 10.10.3. Er verwendet Microsoft Remote Desktop App, um eine Verbindung herzustellen. Ich kann den Zebra-Drucker in der Druckerliste sehen. Wenn meine Anwendung im Druckertreiber druckt, wird in der Mac-Spool "PostScript-Datei kann nicht konvertiert werden" angezeigt. Es ist "normal", seit ich rohen Text an den Drucker sende.

PostScript-Datei kann nicht konvertiert werden

Ich habe dann versucht, einen RAW-Drucker in MacOS hinzuzufügen, aber er wird nicht in Remote Desktop angezeigt.

Was soll ich machen?

0

1 Antwort auf die Frage

2
Tonny

Unter OSX gibt es keinen generischen Textdrucker.
OSX behandelt JEDEN Drucker intern als Postscript auf Betriebssystemebene. Konvertiert dann die Postscript-Ausgabe in die Sprache, die der Drucker benötigt (in Ihrem Fall ZPLII).

Die Remote-Desktop-App erkennt also einen "Postscript" -Drucker unter OSX und übermittelt diesen an Ihren Windows-Server. (Windows betrachtet es normalerweise als "MS ImageSetter-Gerät", bei dem es sich um einen generischen PostScript-Drucker handelt.)

Ihre Anwendung ignoriert dies und schiebt den RAW ZPLII trotzdem auf den Mac, der Mac erwartete jedoch Postscript und damit Ihre Fehlermeldung, wenn er versucht, die Postscript-Datei zu interpretieren (was eigentlich kein Postscript, sondern ZPLII ist).

Das ist unangenehm, weil man das nicht so leicht schafft.

Wenn es sich bei dem Kundendrucker um einen Netzwerkdrucker handelt (ich erinnere mich an die GXxxxt-Modelle, die über die normale Zebra-LAN-Schnittstelle verfügen), können Sie möglicherweise die unformatierte ZPL-Datei an den Kunden liefern und den Kunden die manuelle Verwendung des alten Druckers mit dem alten Drucker ermöglichen lpr Befehl. Der Kunde müsste so etwas auf einer Kommandozeile in Terminal ausführen:

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

Bitte beachten Sie: -H und -P sind Groß- und Kleinschreibung! "-l" ist ein Kleinbuchstabe L.
-H (Hostname) gibt die IP-Adresse des Druckers an, -P den Warteschlangennamen, -l bedeutet "Datei ist bereits formatiert, berühren Sie den Inhalt nicht".

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

EDIT nach einiger Forschung hinzugefügt
Unter OSX können Sie eine sogenannte "RAW" - Druckerwarteschlange erstellen, indem Sie das Befehlszeilen-Tool lpadmin oder das CUPS-Webinterface unter http: // localhost: 631 verwenden .
Solche RAW-Drucker werden jedoch in OSX nicht als normale Drucker angezeigt, da OSX-GUI-Anwendungen unbedingt einen Drucker als Postscript benötigen. Für Nicht-Postscript-Drucker bietet CUPS einen Postscript-Konverter, der das 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-Druckwerkzeugen wie lpq, lpr usw. verwendet werden.)
Und deshalb leitet KEIN RDP-Client unter OSX sie weiter! Sie leiten nur normale Drucker weiter.
(Technisch gesehen gibt es keinen Grund, warum der RDP-Client keinen RAW-Drucker (mit Old-School-Unix-lpr / lpq-Handling) über RDP als "Generic / Text Only" -Drucker für Windows darstellen konnte. Es wäre jedoch eine zusätzliche Programmierung erforderlich Dies geschieht. Und da diese spezielle Verwendung eine sehr kleine Nische ist, sehe ich dies nicht so schnell.)

Ihr einziger Workaround ist, soweit ich das beurteilen kann, der bereits erwähnte. Geben Sie die Datei an den Benutzer weiter und lassen Sie ihn lokal mit lpr drucken.
Der Drucker ist über USB angeschlossen, dies ist jedoch kein Problem. Mit der CUPS-Weboberfläche können Sie einen USB-Drucker als unformatierte Druckwarteschlange einrichten. Teil dieser Webseite Fügen Sie eine Rohdruckwarteschlange hinzu. Sie müssen nur die Schritte 3 bis 7 erläutern. Es verwendet sogar ein Zebra als Beispiel.

Mein Kunde verwendet tatsächlich den USB-Anschluss ... Ich habe ihn nicht gesehen, daher kann ich nicht feststellen, ob es eine LAN-Schnittstelle gibt. Welche Parameter sollte ich verwenden, um eine Datei zu drucken, wenn sie den USB-Anschluss verwendet? vIceBerg vor 9 Jahren 0
Und es gibt keinen generischen Text, aber es gibt RAW-Drucker ... Ich kann nichts damit anfangen? vIceBerg vor 9 Jahren 0
@vIceBerg USB verbunden ... Ich weiß nicht, ob Sie auf diese Weise eine Datei direkt an den Drucker senden können. Ich habe nie einen USB-Drucker an einem Mac verwendet. Ich habe ein Tutorial zum Google-Code [link] (https://code.google.com/p/jzebra/wiki/TutorialRawOSX) gefunden, in dem beschrieben wird, wie ein RAW-Drucker über CUPS unter OSX eingerichtet wird. Dies könnte nur für Ihren Anwendungsfall geeignet sein. Ich bin jetzt im Büro. Wenn ich heute Abend nach Hause komme, kann ich das selbst testen und meine Antwort aktualisieren, wenn sich daraus eine Lösung ergibt. Tonny vor 9 Jahren 0
Das Problem mit dem RaW-Treiber ist, dass Remote Desktop sie nicht erkennt. Zumindest fand ich nicht wie. vIceBerg vor 9 Jahren 0
@vIceBerg Eine Frage zu Ihrem Setup. Sie erwähnen nicht, ob sich Ihre Kunden im selben LAN befinden oder sich in einem VPN befinden. Letzteres scheint logischer zwischen den Zeilen zu lesen. Dies macht einen Unterschied für mögliche Lösungen. Tonny vor 9 Jahren 0
Sie befinden sich nicht im selben LAN. Jeder nutzt eine eigene Internetverbindung, um eine RDC-Verbindung zu unseren Servern herzustellen. An unserem Setup ist kein VPN beteiligt vIceBerg vor 9 Jahren 0
@vIceBerg Wollen Sie damit sagen, dass der RDP-Dienst direkt mit dem Internet verbunden ist? Aus sicherheitstechnischer Sicht ist das nicht klug ... Aber das begrenzt die Lösungsmöglichkeiten. Ich bin in 2-3 Stunden wieder zu Hause. Mal sehen, ob ich mit der Microsoft RDP-App unter OSX einen Weg finden kann. Tonny vor 9 Jahren 0
Unsere Software wird auf lokaler Basis und als Option für die Cloud-Installation angeboten. Es ist ein Windows-Programm, daher haben wir einen Windows 2008-Server mit Remote Desktop-Lizenzierung auf Amazon installiert. Keine Sorge, wir haben uns an einige Richtlinien gehalten, um kommunale Sicherheitsprobleme zu vermeiden. Ich weiß, dass es nicht perfekt ist, aber wir machen keine sensiblen Operationen und speichern keine sensiblen Informationen vIceBerg vor 9 Jahren 0
Kopfgeld belohnt ... vIceBerg vor 9 Jahren 0