En XPrinter Labelprinter op Linux an VMware Workstation opsetzen

E Beispill fir op CentOS opzestellen ouni eng grafesch Shell; Analogie kënnt Dir op all Linux OS astellen.

Ech léisen e spezifesche Problem: Ech muss Etiketten mat arbiträren Text mat enger Schabloun vu PHP drécken. Well Dir net op eng stabil Internetverbindung beim Event ziele kënnt, an déi meescht vun den Automatisatiounsaufgaben iwwerlappen mat der Websäit, hu mir beschloss mat enger virtueller Maschinn op VMware ze schaffen.

XPrinter ass och gëeegent fir Aufgaben ze markéieren; Installatioun ënner Windows ass vill méi einfach. Ech hu mech op den XP-460B Modell mat enger Labelbreet vu bis zu 108 mm niddergelooss.

En XPrinter Labelprinter op Linux an VMware Workstation opsetzen

Well ech selten Linux opbauen an Apparater domat verbannen, hunn ech no fäerdege Setup-Handbuch gesicht a gemierkt datt deen einfachste Wee fir en Drécker ze verbannen ass duerch Coupë. Ech konnt den Drécker net iwwer USB verbannen, keng Manipulatiounen no der Berodung an den Handbücher hunn gehollef, ech hunn d'virtuell Maschinn e puer Mol erofgefall.

  • Download Treiber vun der Websäit vum Hiersteller xprintertech.com, si kommen an engem Archiv fir Windows, Mac a Linux

    Chauffeuren sinn op der Websäit fir eng Rei vun Apparater gepost, a mengem Fall 4 Zoll Label Dréckerspäicher Treiber. Wéi et sech erausstellt, ass den XP-460B scho gestoppt; Ech hunn erausfonnt wéi eng Serie et gehéiert baséiert op de Broutkréien vun engem ähnleche Modell, dem XP-470B.

  • Installéiert den Drécker a Windows, aktivéiert Deelen

    En XPrinter Labelprinter op Linux an VMware Workstation opsetzen

  • Fir Linux enthält den Archiv 1 Datei 4BARCODE. Dëst ass eng "2 an 1" Datei, e Bash Skript mat engem Tararchiv dat sech selwer auspackt an d'Chauffeuren op Coupë kopéiert. A mengem Fall ass bzip2 gebraucht fir auszepaken (fir d'80 mm Serie gëtt en aneren Archiver benotzt)
    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • Als nächst musst Dir opmaachen localhost:631 am Browser, fir d'Kamoudheet maachen ech eng Astellung fir aus dem Browser op Windows opzemaachen. Edit /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üügt den Hafen 631 un d'Firewall (oder iptables):

    firewall-cmd --zone=public --add-port=631/tcp --permanent
    firewall-cmd --reload
    
  • Mir öffnen de Link am Browser mat der IP vun der virtueller Maschinn, a mengem Fall 192.168.1.5:631/admin

    Füügt en Drécker derbäi (Dir musst root a Passwuert aginn)

    En XPrinter Labelprinter op Linux an VMware Workstation opsetzen

  • Et ginn 2 Optiounen déi ech et fäerdeg bruecht hunn ze konfiguréieren, iwwer de LPD Protokoll an iwwer Samba.
    1. Fir iwwer de LPD Protokoll ze verbannen, musst Dir de Service a Windows aktivéieren (Windows Komponenten un oder ausschalten) an de Computer nei starten.

      En XPrinter Labelprinter op Linux an VMware Workstation opsetzen
      An de Coupe-Astellunge gitt lpd://192.168.1.52/Xprinter_XP-460B, wou 192.168.1.52 d'IP vum Computer ass op deem den Drécker installéiert ass, Xprinter_XP-460B ass den Numm vum Drécker an de Windows Sharing Astellungen

      En XPrinter Labelprinter op Linux an VMware Workstation opsetzen
      Wielt de Chauffer 4BARCODE => 4B-3064TA

      En XPrinter Labelprinter op Linux an VMware Workstation opsetzen
      Mir wielt oder späichere näischt an de Parameteren! Ech hu probéiert d'Labelgréisst unzepassen, awer dunn funktionnéiert de Printer net aus irgendege Grënn. D'Labelgréisst kann an der Drockjob uginn ginn.

      En XPrinter Labelprinter op Linux an VMware Workstation opsetzen
      Mir probéieren eng Testsäit ze drécken - fäerdeg!

    2. Zweet Optioun. Dir musst Samba installéieren, Start, Restart Cups, da erschéngt en neie Verbindungspunkt a Coupë, gitt an den Astellungen eng Zeil wéi smb: // User:[Email geschützt]/Xprinter_XP-460B. Wou de Benotzer e Benotzer am Windows ass, muss de Benotzer e Passwuert gesat hunn, d'Autorisatioun funktionnéiert net mat engem eidelen.

Wann alles geschafft huet an den Drécker eng Testsäit gedréckt huet, kënnen d'Aarbechte iwwer d'Konsol geschéckt ginn:

lpr -P Xprinter_XP-460B -o media=Custom.100x102mm test.txt

An dësem Beispill huet de Label Dimensiounen vun 100x100 mm, 2 mm goufen experimentell ausgewielt. D'Distanz tëscht den Etiketten ass 3 mm, awer wann Dir d'Héicht op 103 mm setzt, verännert d'Band, sou datt et onbequem ass fir de Label ze räissen. Den Nodeel vum LPD-Protokoll ass datt Aarbechtsplaze wéi e normale Drécker geschéckt ginn, den ESC/P0S-Format gëtt net fir d'Dréckerei geschéckt, an de Sensor kalibréiert d'Etiketten net.

Da kënnt Dir mam Drécker iwwer php schaffen. Et gi Bibliothéiken fir eng Aarbecht mat Coupë, et ass méi einfach fir mech e Kommando op d'Konsol via exec ze schécken ();

Well ESC/P0S net funktionnéiert, hunn ech beschloss Templates am pdf mat der tFPDF Bibliothéik ze maachen

require_once($_SERVER["DOCUMENT_ROOT"] . "/tfpdf/tfpdf.php");
$w = 100;
$h = 100;
$number = 59;
$pdf = new tFPDF('P', 'mm', [$w, $h]);
$pdf->SetTitle('Information');
$pdf->AddFont('Font', 'B', $_SERVER["DOCUMENT_ROOT"] . '/fonts/opensans-bold.ttf', true);
$pdf->SetTextColor(0,0,0);
$pdf->SetDrawColor(0,0,0);

$pdf->AddPage('P');
$pdf->SetDisplayMode('real','default');
$pdf->Image($_SERVER["DOCUMENT_ROOT"]. '/images/logo_site.png',$w - 4 - 28,$h - 13,28.1,9.6,'');

$pdf->SetFontSize(140);
$pdf->SetXY(0,24);
$pdf->Cell($w,$h - 45, $number,0,0,'C',0);

$pdf->SetFontSize(1);
$pdf->SetTextColor(255,255,255);
$pdf->Write(0, $number);

$pdf->Output('example.pdf','I');

exec('php label.php | lpr -P Xprinter_XP-460B -o media=Custom.100x102mm');

En XPrinter Labelprinter op Linux an VMware Workstation opsetzen
Fäerdeg. Ech hunn 2 Weekender verbruecht fir et opzestellen, ech hoffen dat wäert een nëtzlech sinn.

Source: will.com

Setzt e Commentaire