XPrinter etiketa-inprimagailu bat konfiguratzea Linux-en VMware Workstation-en

CentOS-en shell grafikorik gabe konfiguratzeko adibide bat; analogiaz, edozein Linux OStan konfigura dezakezu.

Arazo zehatz bat konpontzen ari naiz: testu arbitrarioarekin etiketak inprimatu behar ditut PHPko txantiloi bat erabiliz. Ekitaldian Interneteko konexio egonkor batekin kontatu ezin denez, eta automatizazio-zeregin gehienak webgunearekin gainjartzen direnez, VMware-n makina birtual batekin lan egitea erabaki dugu.

XPrinter zereginak markatzeko ere egokia da; Windows-en instalatzea askoz errazagoa da. XP-460B modeloan jarri nintzen etiketa 108 mm-ko zabalera duena.

XPrinter etiketa-inprimagailu bat konfiguratzea Linux-en VMware Workstation-en

Linux gutxitan konfiguratu eta hari gailuak konektatzen ditudanez, prest egindako konfigurazio-eskuliburuak bilatu nituen eta inprimagailu bat konektatzeko modurik errazena edalontziak direla konturatu nintzen. Ezin izan nuen inprimagailua USB bidez konektatu, eskuliburuetako aholkuak jarraituz manipulaziorik ez nuen lagundu, makina birtuala hainbat aldiz huts egin nuen.

  • Deskargatu kontrolatzaileak fabrikatzailearen xprintertech.com webgunetik, Windows, Mac eta Linux-erako artxibo bakarrean datoz.

    Gidariak webgunean jartzen dira gailu batzuentzat, nire kasuan 4 hazbeteko etiketa-inprimagailuen kontrolatzaileak. Ikusten denez, XP-460B dagoeneko etenda dago; zein serieri dagokion ulertu nuen antzeko modelo baten, XP-470B, ogi-mamietan oinarrituta.

  • Instalatu inprimagailua Windows-en, gaitu partekatzea

    XPrinter etiketa-inprimagailu bat konfiguratzea Linux-en VMware Workstation-en

  • Linux-erako, artxiboak 1BARCODE fitxategi bat dauka. Hau "4 in 2" fitxategi bat da, bash script bat, tar artxibo batekin, bere burua deskonprimitu eta kontrolatzaileak kopetan kopiatzen dituena. Nire kasuan, bzip1 behar da deskonprimitzeko (2 mm-ko serierako beste artxibo bat erabiltzen da)
    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • Hurrengoa ireki behar duzu localhost:631 arakatzailean, erosotasunerako konfigurazio bat egiten dut Windows-en arakatzailetik irekitzeko. Editatu /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>
    

    Gehitu 631 ataka suebakiari (edo iptables):

    firewall-cmd --zone=public --add-port=631/tcp --permanent
    firewall-cmd --reload
    
  • Esteka nabigatzailean irekitzen dugu makina birtualaren IPa erabiliz, nire kasuan 192.168.1.5:631/admin

    Gehitu inprimagailu bat (root eta pasahitza sartu behar dituzu)

    XPrinter etiketa-inprimagailu bat konfiguratzea Linux-en VMware Workstation-en

  • 2 aukera daude konfiguratzea lortu dudana, LPD protokoloaren bidez eta samba bidez.
    1. LPD protokoloaren bidez konektatzeko, zerbitzua Windows-en gaitu behar duzu (Aktibatu edo desaktibatu Windows osagaiak) eta berrabiarazi ordenagailua.

      XPrinter etiketa-inprimagailu bat konfiguratzea Linux-en VMware Workstation-en
      Cups ezarpenetan, idatzi lpd://192.168.1.52/Xprinter_XP-460B, non 192.168.1.52 inprimagailua instalatuta dagoen ordenagailuaren IPa den, Xprinter_XP-460B inprimagailuaren izena Windows partekatzeko ezarpenetan.

      XPrinter etiketa-inprimagailu bat konfiguratzea Linux-en VMware Workstation-en
      Hautatu kontrolatzailea 4BARCODE => 4B-3064TA

      XPrinter etiketa-inprimagailu bat konfiguratzea Linux-en VMware Workstation-en
      Ez dugu parametroetan ezer hautatzen edo gordetzen! Etiketen tamaina doitzen saiatu nintzen, baina inprimagailuak ez du funtzionatzen arrazoiren bategatik. Etiketa-tamaina inprimatze-lanean zehaztu daiteke.

      XPrinter etiketa-inprimagailu bat konfiguratzea Linux-en VMware Workstation-en
      Proba orri bat inprimatzen saiatzen gara - listo!

    2. Bigarren aukera. Samba instalatu behar duzu, hasi, berrabiarazi cups, orduan konexio puntu berri bat agertuko da cups-etan, ezarpenetan sartu smb://user bezalako lerro bat:[posta elektroniko bidez babestua]/Xprinter_XP-460B. Non, erabiltzailea Windows-en erabiltzailea den, erabiltzaileak pasahitz bat ezarri behar du, baimenak ez du funtzionatzen hutsarekin.

Dena ondo atera zenean eta inprimagailuak proba-orri bat inprimatu zuenean, lanak kontsolaren bidez bidal daitezke:

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

Adibide honetan, etiketak 100x100 mm-ko dimentsioak ditu, 2 mm esperimentalki hautatu ziren. Etiketen arteko distantzia 3 mm-koa da, baina altuera 103 mm-ra ezartzen baduzu, zinta desplazatzen da, eta etiketa kentzea deserosoa da. LPD protokoloaren desabantaila da lanak ohiko inprimagailu batera bidaltzen direla, ESC/P0S formatua ez dela inprimatzera bidaltzen eta sentsoreak ez dituela etiketak kalibratzen.

Ondoren, inprimagailuarekin lan egin dezakezu php bidez. Kopekin lan egiteko liburutegiak daude, errazagoa zait kontsolara komando bat bidaltzea exec() bidez;

ESC/P0S funtzionatzen ez duenez, txantiloiak pdf-an egitea erabaki nuen tFPDF liburutegia erabiliz.

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

XPrinter etiketa-inprimagailu bat konfiguratzea Linux-en VMware Workstation-en
Prest. 2 asteburu eman nituen konfiguratzen, espero dut hau norbaitentzat erabilgarria izatea.

Iturria: www.habr.com

Gehitu iruzkin berria