Konfiguriranje XPrinter pisača naljepnica na Linuxu u VMware Workstation

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

Rješavam konkretan problem: trebam ispisati naljepnice s proizvoljnim tekstom pomoću predloška iz PHP-a. Budući da na događaju ne možete računati na stabilnu internetsku vezu, a većina zadataka automatizacije se preklapa s web stranicom, odlučili smo raditi s virtualnim strojem na VMwareu.

XPrinter je također pogodan za označavanje zadataka, instalacija pod Windowsima je puno lakša. Odlučio sam se za model XP-460B sa širinom naljepnice do 108 mm.

Konfiguriranje XPrinter pisača naljepnica na Linuxu u VMware Workstation

Kako rijetko postavljam Linux i spajam uređaje na njega, potražio sam gotove priručnike za postavljanje i shvatio da je printer najlakše spojiti preko šalica. Nisam mogao spojiti pisač putem USB-a, nikakve manipulacije prema savjetima u priručnicima nisu pomogle, samo sam nekoliko puta srušio virtualni stroj.

  • Preuzmite upravljačke programe s web stranice proizvođača xprintertech.com, dolaze u jednoj arhivi za Windows, Mac i Linux

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

  • Instalirajte pisač u sustavu Windows, omogućite dijeljenje

    Konfiguriranje XPrinter pisača naljepnica na Linuxu u VMware Workstation

  • Za Linux, arhiva sadrži 1 datoteku 4BARCODE. Ovo je datoteka "2 u 1", bash skripta s tar arhivom koja se sama raspakira i kopira upravljačke programe u cups. U mom slučaju za raspakiranje je potreban bzip2 (za seriju od 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 pregledniku, radi praktičnosti postavljam postavku za otvaranje iz preglednika u sustavu 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 port 631 vatrozidu (ili iptables):

    firewall-cmd --zone=public --add-port=631/tcp --permanent
    firewall-cmd --reload
    
  • Link otvaramo u pregledniku koristeći IP virtualnog stroja, u mom slučaju 192.168.1.5:631/admin

    Dodajte pisač (morate unijeti root i lozinku)

    Konfiguriranje XPrinter pisača naljepnica na Linuxu u VMware Workstation

  • Postoje 2 opcije koje sam uspio konfigurirati, preko LPD protokola i preko sambe.
    1. Za povezivanje putem LPD protokola potrebno je omogućiti uslugu u Windowsima (Uključivanje ili isključivanje komponenti Windowsa) i ponovno pokrenuti računalo.

      Konfiguriranje XPrinter pisača naljepnica na Linuxu u VMware Workstation
      U postavkama cups-a unesite lpd://192.168.1.52/Xprinter_XP-460B, gdje je 192.168.1.52 IP računala na kojem je printer instaliran, Xprinter_XP-460B je naziv pisača u Windows postavkama dijeljenja

      Konfiguriranje XPrinter pisača naljepnica na Linuxu u VMware Workstation
      Odaberite upravljački program 4BARCODE => 4B-3064TA

      Konfiguriranje XPrinter pisača naljepnica na Linuxu u VMware Workstation
      Ništa ne biramo niti spremamo u parametre! Pokušao sam prilagoditi veličinu naljepnice, ali pisač iz nekog razloga ne radi. Veličina naljepnice može se odrediti u poslu ispisa.

      Konfiguriranje XPrinter pisača naljepnica na Linuxu u VMware Workstation
      Pokušavamo ispisati probnu stranicu - gotovo!

    2. Druga opcija. Morate instalirati sambu, pokrenuti, ponovno pokrenuti šalice, a zatim će se pojaviti nova točka povezivanja u šalicama, u postavkama unesite redak poput smb://user:[e-pošta zaštićena]/Xprinter_XP-460B. Gdje je korisnik korisnik u Windowsima, korisnik mora imati postavljenu lozinku, autorizacija ne radi s praznom.

Kada je sve u redu i pisač ispiše probnu stranicu, zadaci se mogu slati putem konzole:

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

U ovom primjeru naljepnica ima dimenzije 100x100 mm, eksperimentalno je odabrano 2 mm. Razmak između naljepnica je 3 mm, ali ako postavite visinu na 103 mm, traka se pomiče, pa je neprikladno otkidati naljepnicu. Nedostatak LPD protokola je što se poslovi šalju kao na obični printer, ESC/P0S format se ne šalje na ispis, a senzor ne kalibrira naljepnice.

Tada možete raditi s pisačem putem php-a. Postoje biblioteke za rad sa šalicama, lakše mi je poslati naredbu na konzolu preko exec();

Budući da ESC/P0S ne radi, odlučio sam napraviti predloške 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');

Konfiguriranje XPrinter pisača naljepnica na Linuxu u VMware Workstation
Spreman. Proveo sam 2 vikenda postavljajući ga, nadam se da će ovo nekome koristiti.

Izvor: www.habr.com

Dodajte komentar