Configurarea unei imprimante de etichete XPrinter pe Linux în VMware Workstation

Un exemplu pentru configurarea pe CentOS fără un shell grafic; prin analogie, puteți configura pe orice sistem de operare Linux.

Rezolv o problemă specifică: trebuie să imprim etichete cu text arbitrar folosind un șablon din PHP. Deoarece nu te poți baza pe o conexiune la Internet stabilă la eveniment și majoritatea sarcinilor de automatizare se suprapun cu site-ul web, am decis să lucrăm cu o mașină virtuală pe VMware.

XPrinter este, de asemenea, potrivit pentru sarcini de marcare; instalarea sub Windows este mult mai ușoară. Am optat pentru modelul XP-460B cu o lățime a etichetei de până la 108 mm.

Configurarea unei imprimante de etichete XPrinter pe Linux în VMware Workstation

Deoarece rareori am configurat Linux și am conectat dispozitive la acesta, am căutat manuale de configurare gata făcute și mi-am dat seama că cel mai simplu mod de a conecta o imprimantă este prin cupe. Nu am putut conecta imprimanta prin USB, nicio manipulare după sfaturile din manuale nu a ajutat, doar am blocat mașina virtuală de mai multe ori.

  • Descărcați drivere de pe site-ul web al producătorului xprintertech.com, acestea vin într-o singură arhivă pentru Windows, Mac și Linux

    Driverele sunt postate pe site pentru o serie de dispozitive, în cazul meu Drivere de imprimantă de etichete de 4 inchi. După cum se dovedește, XP-460B a fost deja întrerupt; mi-am dat seama cărei serie îi aparține pe baza pesmeturilor unui model similar, XP-470B.

  • Instalați imprimanta în Windows, activați partajarea

    Configurarea unei imprimante de etichete XPrinter pe Linux în VMware Workstation

  • Pentru Linux, arhiva conține 1 fișier 4BARCCODE. Acesta este un fișier „2 în 1”, un script bash cu o arhivă tar care se despachetează singur și copiază driverele în cupe. În cazul meu, bzip2 este necesar pentru despachetare (pentru seria de 80 mm este folosit un alt arhivator)
    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • În continuare trebuie să deschideți localhost:631 în browser, pentru comoditate fac o setare pentru a deschide din browser în Windows. Editați /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>
    

    Adăugați portul 631 la firewall (sau iptables):

    firewall-cmd --zone=public --add-port=631/tcp --permanent
    firewall-cmd --reload
    
  • Deschidem linkul în browser folosind IP-ul mașinii virtuale, în cazul meu 192.168.1.5:631/admin

    Adăugați o imprimantă (trebuie să introduceți root și parola)

    Configurarea unei imprimante de etichete XPrinter pe Linux în VMware Workstation

  • Sunt 2 optiuni pe care am reusit sa le configurez, prin protocolul LPD si prin samba.
    1. Pentru a vă conecta prin protocolul LPD, trebuie să activați serviciul în Windows (porniți sau dezactivați componentele Windows) și reporniți computerul.

      Configurarea unei imprimante de etichete XPrinter pe Linux în VMware Workstation
      În setările cupe, introduceți lpd://192.168.1.52/Xprinter_XP-460B, unde 192.168.1.52 este IP-ul computerului pe care este instalată imprimanta, Xprinter_XP-460B este numele imprimantei în setările de partajare Windows

      Configurarea unei imprimante de etichete XPrinter pe Linux în VMware Workstation
      Selectați driverul 4BARCCODE => 4B-3064TA

      Configurarea unei imprimante de etichete XPrinter pe Linux în VMware Workstation
      Nu selectăm și nu salvăm nimic în parametri! Am încercat să ajustez dimensiunea etichetei, dar apoi imprimanta nu funcționează dintr-un motiv oarecare. Mărimea etichetei poate fi specificată în lucrarea de imprimare.

      Configurarea unei imprimante de etichete XPrinter pe Linux în VMware Workstation
      Încercăm să imprimăm o pagină de test - gata!

    2. A doua varianta. Trebuie să instalați samba, porniți, reporniți cups, apoi un nou punct de conectare va apărea în cupe, în setări introduceți o linie precum smb://user:[e-mail protejat]/Xprinter_XP-460B. În cazul în care utilizatorul este un utilizator în Windows, utilizatorul trebuie să aibă o parolă setată, autorizarea nu funcționează cu una goală.

Când totul a funcționat și imprimanta a tipărit o pagină de test, lucrările pot fi trimise prin consolă:

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

În acest exemplu, eticheta are dimensiuni de 100x100 mm, 2 mm au fost selectați experimental. Distanța dintre etichete este de 3 mm, dar dacă setați înălțimea la 103 mm, banda se deplasează, ceea ce face incomod să rupeți eticheta. Dezavantajul protocolului LPD este că lucrările sunt trimise ca la o imprimantă obișnuită, formatul ESC/P0S nu este trimis pentru imprimare, iar senzorul nu calibrează etichetele.

Apoi puteți lucra cu imprimanta prin php. Există biblioteci pentru lucrul cu cupe, îmi este mai ușor să trimit o comandă către consolă prin exec();

Deoarece ESC/P0S nu funcționează, am decis să fac șabloane în pdf folosind biblioteca tFPDF

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');

Configurarea unei imprimante de etichete XPrinter pe Linux în VMware Workstation
Gata. Am petrecut 2 weekend-uri montandu-l, sper sa fie de folos cuiva.

Sursa: www.habr.com

Adauga un comentariu