Nastavitev tiskalnika nalepk XPrinter v Linuxu v VMware Workstation

Primer nastavitve na CentOS brez grafične lupine; po analogiji lahko nastavite na katerem koli OS Linux.

Rešujem specifično težavo: natisniti moram nalepke s poljubnim besedilom s pomočjo predloge iz PHP-ja. Ker na dogodku ne morete računati na stabilno internetno povezavo in se večina nalog avtomatizacije prekriva s spletno stranjo, smo se odločili za delo z virtualnim strojem na VMware.

XPrinter je primeren tudi za označevanje opravil, namestitev pod Windows je veliko lažja. Odločil sem se za model XP-460B s širino etikete do 108 mm.

Nastavitev tiskalnika nalepk XPrinter v Linuxu v VMware Workstation

Ker redko postavljam Linux in nanj povezujem naprave, sem poiskal že pripravljene nastavitvene priročnike in ugotovil, da je tiskalnik najlažje priklopiti preko skodelic. Tiskalnika nisem mogel povezati prek USB-ja, nobena manipulacija po nasvetih v priročnikih ni pomagala, samo večkrat sem zrušil virtualni stroj.

  • Prenesite gonilnike s spletnega mesta proizvajalca xprintertech.com, v enem arhivu so za Windows, Mac in Linux

    Gonilniki so objavljeni na spletnem mestu za vrsto naprav, v mojem primeru Gonilniki za 4-palčni tiskalnik nalepk. Kot kaže je XP-460B že ukinjen, v katero serijo spada sem ugotovil na podlagi drobtinic podobnega modela XP-470B.

  • Namestite tiskalnik v Windows, omogočite skupno rabo

    Nastavitev tiskalnika nalepk XPrinter v Linuxu v VMware Workstation

  • Za Linux vsebuje arhiv 1 datoteko 4BARCODE. To je datoteka »2 v 1«, skript bash z arhivom tar, ki se sam razpakira in gonilnike kopira v cups. V mojem primeru je za razpakiranje potreben bzip2 (za serijo 80 mm se uporablja drug arhivar)
    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • Nato morate odpreti localhost:631 v brskalniku, zaradi udobja nastavim odpiranje iz brskalnika v sistemu Windows. Uredite /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>
    

    Dodajte vrata 631 požarnemu zidu (ali iptables):

    firewall-cmd --zone=public --add-port=631/tcp --permanent
    firewall-cmd --reload
    
  • Povezavo odpremo v brskalniku z uporabo IP-ja virtualnega stroja, v mojem primeru 192.168.1.5:631/admin

    Dodajte tiskalnik (vnesti morate root in geslo)

    Nastavitev tiskalnika nalepk XPrinter v Linuxu v VMware Workstation

  • Uspelo mi je konfigurirati 2 možnosti, preko LPD protokola in preko sambe.
    1. Za povezavo preko LPD protokola morate omogočiti storitev v oknih (Vklop ali izklop komponent Windows) in znova zagnati računalnik.

      Nastavitev tiskalnika nalepk XPrinter v Linuxu v VMware Workstation
      V nastavitvah cups vnesite lpd://192.168.1.52/Xprinter_XP-460B, kjer je 192.168.1.52 IP računalnika, na katerem je nameščen tiskalnik, Xprinter_XP-460B je ime tiskalnika v nastavitvah skupne rabe windows.

      Nastavitev tiskalnika nalepk XPrinter v Linuxu v VMware Workstation
      Izberite gonilnik 4BARCODE => 4B-3064TA

      Nastavitev tiskalnika nalepk XPrinter v Linuxu v VMware Workstation
      V parametrih ne izbiramo in ne shranjujemo ničesar! Poskušal sem prilagoditi velikost nalepke, vendar tiskalnik iz neznanega razloga ne deluje. Velikost nalepke lahko določite v tiskalnem poslu.

      Nastavitev tiskalnika nalepk XPrinter v Linuxu v VMware Workstation
      Poskušamo natisniti testno stran - končano!

    2. Druga možnost. Namestiti morate sambo, zagnati, znova zagnati skodelice, nato se bo v skodelicah pojavila nova povezovalna točka, v nastavitvah vnesite vrstico, kot je smb://user:[e-pošta zaščitena]/Xprinter_XP-460B. Kjer je uporabnik uporabnik v sistemu Windows, mora imeti uporabnik nastavljeno geslo, avtorizacija s praznim ne deluje.

Ko je vse delovalo in je tiskalnik natisnil testno stran, lahko posel pošljete prek konzole:

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

V tem primeru ima nalepka dimenzije 100x100 mm, 2 mm sta bila izbrana eksperimentalno. Razdalja med nalepkama je 3 mm, če pa višino nastavite na 103 mm, se trak premakne, zaradi česar je nalepko neprijetno odtrgati. Slabost LPD protokola je, da se opravila pošiljajo kot na običajen tiskalnik, format ESC/P0S se ne pošilja v tisk in senzor ne kalibrira etiket.

Potem lahko delate s tiskalnikom prek php. Obstajajo knjižnice za delo s skodelicami, lažje mi je poslati ukaz na konzolo prek exec();

Ker ESC/P0S ne deluje, sem se odločil narediti predloge v pdf s knjižnico 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');

Nastavitev tiskalnika nalepk XPrinter v Linuxu v VMware Workstation
pripravljena Za nastavitev sem porabil 2 vikenda, upam, da bo to komu koristilo.

Vir: www.habr.com

Dodaj komentar