ProHoster > Blog > Verwaltung > Konfigurieren eines XPrinter-Etikettendruckers unter Linux in VMware Workstation
Konfigurieren eines XPrinter-Etikettendruckers unter Linux in VMware Workstation
Ein Beispiel für die Einrichtung in CentOS ohne grafische Shell; analog können Sie es auf jedem Linux-Betriebssystem einrichten.
Ich löse ein bestimmtes Problem: Von PHP aus muss ich Etiketten mit beliebigem Text gemäß einer Vorlage drucken. Da die Veranstaltung nicht auf ein stabiles Internet angewiesen ist und sich die meisten Automatisierungsaufgaben mit der Website überschneiden, haben wir uns für die Arbeit mit einer virtuellen Maschine auf VMware entschieden.
XPrinter eignet sich auch für Markierungsaufgaben, die Installation unter Windows ist deutlich einfacher. Ich habe mich für das Modell XP-460B mit einer Etikettenbreite von bis zu 108 mm entschieden.
Da ich selten Linux einrichte und Geräte daran anschließe, suchte ich nach vorgefertigten Einrichtungshandbüchern und erkannte, dass sich ein Drucker am einfachsten über Tassen anschließen lässt. Ich konnte den Drucker nicht über USB anschließen, keine Manipulationen an den Ratschlägen in den Handbüchern haben geholfen, ich habe nur mehrmals die virtuelle Maschine kaputt gemacht.
Wir laden die Treiber von der Website des Herstellers xprintertech.com herunter, sie kommen in einem Archiv für Windows, Mac und Linux
In meinem Fall werden auf der Website Treiber für eine Reihe von Geräten veröffentlicht Treiber für 4-Zoll-Etikettendrucker. Wie sich herausstellte, wurde der XP-460B bereits eingestellt. Ich habe anhand der Brotkrumen eines ähnlichen XP-470B-Modells herausgefunden, zu welcher Serie er gehört.
Installieren Sie den Drucker in Windows und aktivieren Sie die Freigabe
Für Linux enthält das Archiv 1 Datei 4BARCODE. Dies ist eine 2-in-1-Datei, ein Bash-Skript mit einem TAR-Archiv, das sich selbst entpackt und die Treiber in Cups kopiert. In meinem Fall wird bzip2 zum Entpacken benötigt (für die 80-mm-Serie wird ein anderer Archiver verwendet)
yum install cups
yum install bzip2
chmod 744 ./4BARCODE
sh ./4BARCODE
service cups start
Als nächstes müssen Sie öffnen localhost:631 im Browser, der Einfachheit halber stelle ich das Öffnen über den Browser in Windows ein. Bearbeiten Sie /etc/cups/cupsd.conf:
Listen localhost:631 меняем на Listen *:631
<Location />
Order allow,deny
Allow localhost
Allow 192.168.1.*
</Location>
<Location /admin>
Order allow,deny
Allow localhost
Allow 192.168.1.*
</Location>
Fügen Sie Port 631 zur Firewall (oder zu iptables) hinzu:
Wir öffnen den Link im Browser über die IP der virtuellen Maschine, in meinem Fall 192.168.1.5:631/admin
Fügen Sie einen Drucker hinzu (Sie müssen Root und Passwort eingeben)
Es gibt zwei Optionen, die ich konfigurieren konnte, über das LPD-Protokoll und über Samba.
Um eine Verbindung über das LPD-Protokoll herzustellen, müssen Sie den Dienst in Windows aktivieren (Windows-Funktionen aktivieren oder deaktivieren) und den Computer neu starten.
Geben Sie in den Cup-Einstellungen lpd://192.168.1.52/Xprinter_XP-460B ein, wobei 192.168.1.52 die IP des Computers ist, auf dem der Drucker installiert ist, Xprinter_XP-460B der Name des Druckers in den Windows-Freigabeeinstellungen
Wählen Sie den Treiber 4BARCODE => 4B-3064TA
Wir wählen nichts in den Parametern aus und speichern nicht! Ich habe versucht, die Etikettengröße anzupassen, aber dann funktioniert der Drucker aus irgendeinem Grund nicht. Die Etikettengröße kann im Druckauftrag eingestellt werden.
Versuche eine Testseite zu drucken – fertig!
Zweite Option. Sie müssen Samba installieren, starten, Cups neu starten, dann erscheint ein neuer Verbindungspunkt in Cups, geben Sie in den Einstellungen eine Zeile wie smb://user ein:[E-Mail geschützt] /Xprinter_XP-460B. Wenn der Benutzer ein Windows-Benutzer ist, muss der Benutzer über ein Kennwort verfügen. Die Autorisierung erfolgt nicht mit einem leeren Kennwort.
Wenn alles geklappt hat und der Drucker eine Testseite gedruckt hat, können Aufträge über die Konsole gesendet werden:
In diesem Beispiel hat das Etikett die Abmessungen 100x100 mm, 2 mm sind experimentell gewählt. Der Abstand zwischen den Etiketten beträgt 3 mm. Wenn Sie die Höhe jedoch auf 103 mm einstellen, verschiebt sich das Klebeband und das Abreißen des Etiketts ist umständlich. Der Nachteil des LPD-Protokolls besteht darin, dass Aufträge wie an einen normalen Drucker gesendet werden, das ESC/P0S-Format nicht zum Drucken gesendet wird und der Sensor keine Etiketten kalibriert.
Dann können Sie über PHP mit dem Drucker arbeiten. Es gibt Bibliotheken für die Arbeit mit Cups, es ist für mich einfacher, einen Befehl über exec(); an die Konsole zu senden;
Da ESC/P0S nicht funktioniert, habe ich beschlossen, Vorlagen im PDF-Format über die tFPDF-Bibliothek zu erstellen