Nastavenie tlačiarne štítkov XPrinter v systéme Linux vo VMware Workstation

Príklad nastavenia na CentOS bez grafického shellu; analogicky ho môžete nastaviť na akomkoľvek OS Linux.

Riešim konkrétny problém: potrebujem vytlačiť štítky s ľubovoľným textom pomocou šablóny z PHP. Keďže na podujatí nemôžete počítať so stabilným internetovým pripojením a väčšina automatizačných úloh sa prekrýva s webom, rozhodli sme sa pracovať s virtuálnym strojom na VMware.

XPrinter je vhodný aj na označovanie úloh, inštalácia pod Windows je oveľa jednoduchšia. Rozhodol som sa pre model XP-460B so šírkou štítku až 108 mm.

Nastavenie tlačiarne štítkov XPrinter v systéme Linux vo VMware Workstation

Keďže Linux nastavujem a pripájam k nemu zariadenia len zriedka, hľadal som hotové návody na nastavenie a uvedomil som si, že najjednoduchší spôsob pripojenia tlačiarne je cez poháre. Tlačiareň sa mi nepodarilo pripojiť cez USB, nepomohli žiadne manipulácie podľa rád v návodoch, len som niekoľkokrát havaroval virtuálny stroj.

  • Stiahnite si ovládače z webovej stránky výrobcu xprintertech.com, prichádzajú v jednom archíve pre Windows, Mac a Linux

    V mojom prípade sú na webovej stránke zverejnené ovládače pre sériu zariadení 4-palcové ovládače tlačiarne štítkov. Ako sa ukázalo, XP-460B už bol prerušený, prišiel som na to, do ktorej série patrí na základe strúhanky podobného modelu, XP-470B.

  • Nainštalujte tlačiareň v systéme Windows, povoľte zdieľanie

    Nastavenie tlačiarne štítkov XPrinter v systéme Linux vo VMware Workstation

  • Pre Linux obsahuje archív 1 súbor 4BARCODE. Toto je súbor „2 v 1“, bash skript s archívom tar, ktorý sa sám rozbalí a skopíruje ovládače do pohárov. V mojom prípade je na rozbalenie potrebný bzip2 (pre sériu 80 mm sa používa iný archivátor)
    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • Ďalej musíte otvoriť localhost:631 v prehliadači, pre pohodlie urobím nastavenie otvárania z prehliadača v systéme Windows. Upravte súbor /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>
    

    Pridajte port 631 do brány firewall (alebo iptables):

    firewall-cmd --zone=public --add-port=631/tcp --permanent
    firewall-cmd --reload
    
  • Odkaz otvoríme v prehliadači pomocou IP virtuálneho počítača, v mojom prípade 192.168.1.5:631/admin

    Pridať tlačiareň (musíte zadať root a heslo)

    Nastavenie tlačiarne štítkov XPrinter v systéme Linux vo VMware Workstation

  • Sú 2 možnosti, ktoré sa mi podarilo nakonfigurovať, cez protokol LPD a cez sambu.
    1. Pre pripojenie cez protokol LPD je potrebné povoliť službu vo Windows (Zapnúť alebo vypnúť súčasti Windows) a reštartovať počítač.

      Nastavenie tlačiarne štítkov XPrinter v systéme Linux vo VMware Workstation
      V nastaveniach pohárov zadajte lpd://192.168.1.52/Xprinter_XP-460B, kde 192.168.1.52 je adresa IP počítača, na ktorom je tlačiareň nainštalovaná, Xprinter_XP-460B je názov tlačiarne v nastaveniach zdieľania systému Windows

      Nastavenie tlačiarne štítkov XPrinter v systéme Linux vo VMware Workstation
      Vyberte ovládač 4BARCODE => 4B-3064TA

      Nastavenie tlačiarne štítkov XPrinter v systéme Linux vo VMware Workstation
      V parametroch nič nevyberáme ani neukladáme! Skúšal som upraviť veľkosť štítku, ale potom tlačiareň z nejakého dôvodu nefunguje. Veľkosť štítku je možné špecifikovať v tlačovej úlohe.

      Nastavenie tlačiarne štítkov XPrinter v systéme Linux vo VMware Workstation
      Skúšame vytlačiť skúšobnú stránku – hotovo!

    2. Druhá možnosť. Musíte nainštalovať sambu, spustiť, reštartovať poháre, potom sa v pohároch objaví nový bod pripojenia, v nastaveniach zadajte riadok ako smb://user:[chránené e-mailom]/Xprinter_XP-460B. Ak je užívateľ užívateľom vo Windows, užívateľ musí mať nastavené heslo, s prázdnym autorizácia nefunguje.

Keď všetko fungovalo a tlačiareň vytlačila testovaciu stránku, úlohy je možné odoslať cez konzolu:

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

V tomto príklade má štítok rozmery 100x100 mm, experimentálne boli vybrané 2 mm. Vzdialenosť medzi štítkami je 3 mm, ale ak nastavíte výšku na 103 mm, páska sa posunie, takže je nepohodlné štítok odtrhnúť. Nevýhodou protokolu LPD je, že úlohy sa odosielajú ako na bežnú tlačiareň, formát ESC/P0S sa neposiela na tlač a snímač nekalibruje štítky.

Potom môžete pracovať s tlačiarňou cez php. Existujú knižnice na prácu s pohármi, je pre mňa jednoduchšie poslať príkaz do konzoly cez exec();

Keďže ESC/P0S nefunguje, rozhodol som sa urobiť šablóny v pdf pomocou knižnice 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');

Nastavenie tlačiarne štítkov XPrinter v systéme Linux vo VMware Workstation
Pripravený. Strávil som 2 víkendy nastavovaním, dúfam, že to bude pre niekoho užitočné.

Zdroj: hab.com

Pridať komentár