Postavljanje XPrinter pisača naljepnica na Linux u VMware Workstation

Primjer za postavljanje na CentOS bez grafičke ljuske; po analogiji, možete postaviti na bilo koji Linux OS.

Rešavam konkretan problem: moram da štampam etikete sa proizvoljnim tekstom koristeći šablon iz PHP-a. Budući da na događaju ne možete računati na stabilnu internet vezu, a većina zadataka automatizacije se preklapaju s web-stranicom, odlučili smo raditi s virtualnom mašinom na VMware-u.

Xprinter je također pogodan za označavanje zadataka, instalacija pod Windowsom je mnogo lakša. Odlučio sam se na model XP-460B sa širinom etikete do 108 mm.

Postavljanje XPrinter pisača naljepnica na Linux u VMware Workstation

Budući da rijetko postavljam Linux i povezujem uređaje na njega, potražio sam gotove priručnike za podešavanje i shvatio da je najlakši način za povezivanje pisača preko čašica. Nisam mogao da povežem štampač preko USB-a; nijedna od manipulacija prema savetima u priručnicima nije pomogla, samo sam nekoliko puta srušio virtuelnu mašinu.

  • Preuzmite drajvere sa web stranice proizvođača xprintertech.com, dolaze u jednoj arhivi za Windows, Mac i Linux

    Drajveri su objavljeni na web stranici za niz uređaja, u mom slučaju Upravljački programi za štampač naljepnica od 4 inča. Kako se ispostavilo, XP-460B je već ukinut; shvatio sam kojoj seriji pripada na osnovu sličnog modela, XP-470B.

  • Instalirajte štampač u Windows, omogućite deljenje

    Postavljanje XPrinter pisača naljepnica na Linux u VMware Workstation

  • Za Linux, arhiva sadrži 1 datoteku 4BARCODE. Ovo je "2 u 1" fajl, bash skripta sa tar arhivom koja se sama raspakuje i kopira drajvere u cups. U mom slučaju je za raspakivanje potreban bzip2 (za seriju 80 mm koristi se drugi arhivator)
    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • Zatim morate otvoriti localhost:631 u pretraživaču, radi praktičnosti sam napravio podešavanje za otvaranje iz pretraživača u Windows-u. 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 port 631 na firewall (ili iptables):

    firewall-cmd --zone=public --add-port=631/tcp --permanent
    firewall-cmd --reload
    
  • Otvaramo vezu u pretraživaču koristeći IP virtuelne mašine, u mom slučaju 192.168.1.5:631/admin

    Dodajte štampač (morate unijeti root i lozinku)

    Postavljanje XPrinter pisača naljepnica na Linux u VMware Workstation

  • Postoje 2 opcije koje sam uspio konfigurirati, preko LPD protokola i putem sambe.
    1. Da biste se povezali preko LPD protokola, potrebno je da omogućite uslugu u Windows-u (Uključite ili isključite Windows komponente) i ponovo pokrenete računar.

      Postavljanje XPrinter pisača naljepnica na Linux u VMware Workstation
      U postavkama čaša unesite lpd://192.168.1.52/Xprinter_XP-460B, gdje je 192.168.1.52 IP računara na kojem je štampač instaliran, Xprinter_XP-460B je naziv štampača u postavkama dijeljenja Windowsa

      Postavljanje XPrinter pisača naljepnica na Linux u VMware Workstation
      Odaberite drajver 4BARCODE => 4B-3064TA

      Postavljanje XPrinter pisača naljepnica na Linux u VMware Workstation
      Ne biramo i ne spremamo ništa u parametrima! Pokušao sam podesiti veličinu naljepnice, ali tada pisač iz nekog razloga ne radi. Veličina etikete se može odrediti u zadatku za štampanje.

      Postavljanje XPrinter pisača naljepnica na Linux u VMware Workstation
      Pokušavamo odštampati probnu stranicu - gotovo!

    2. Druga opcija. Morate instalirati sambu, pokrenuti, restartovati cups, tada će se pojaviti nova tačka povezivanja u cups, u postavkama unesite red kao smb://user:[email zaštićen]/Xprinter_XP-460B. Kada je korisnik korisnik u Windows-u, korisnik mora imati postavljenu lozinku, autorizacija ne radi sa praznom.

Kada je sve prošlo i štampač odštampao probnu stranicu, poslovi se mogu slati preko konzole:

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

U ovom primjeru, naljepnica ima dimenzije 100x100 mm, 2 mm su odabrane eksperimentalno. Razmak između naljepnica je 3 mm, ali ako postavite visinu na 103 mm, traka se pomiče, zbog čega će biti nezgodno otkinuti naljepnicu. Nedostatak LPD protokola je što se poslovi šalju kao na običan štampač, ESC/P0S format se ne šalje na štampanje, a senzor ne kalibrira etikete.

Tada možete raditi sa štampačem preko php-a. Postoje biblioteke za rad sa čašama, lakše mi je da pošaljem komandu na konzolu preko exec();

Pošto ESC/P0S ne radi, odlučio sam da napravim šablone u pdf-u koristeći tFPDF biblioteku

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

Postavljanje XPrinter pisača naljepnica na Linux u VMware Workstation
Spreman. Proveo sam 2 vikenda postavljajući ga, nadam se da će ovo nekome biti od koristi.

izvor: www.habr.com

Dodajte komentar