Konfigurimi i një printeri etiketash XPrinter në Linux në VMware Workstation

Një shembull për konfigurimin në CentOS pa një guaskë grafike; për analogji, mund ta konfiguroni atë në çdo OS Linux.

Unë zgjidh një problem specifik, nga php më duhet të printoj etiketa me tekst arbitrar sipas një shablloni. Meqenëse ngjarja nuk mund të mbështetet në një internet të qëndrueshëm dhe shumica e detyrave të automatizimit mbivendosen me faqen e internetit, vendosëm të punojmë me një makinë virtuale në VMware.

XPrinter është gjithashtu i përshtatshëm për shënimin e detyrave, është shumë më e lehtë për t'u instaluar nën dritare. Unë u vendosa në modelin XP-460B me një gjerësi etikete deri në 108 mm.

Konfigurimi i një printeri etiketash XPrinter në Linux në VMware Workstation

Meqenëse konfiguroja rrallë Linux dhe lidhja pajisje me të, po kërkoja manuale të gatshme të konfigurimit, kuptova se mënyra më e lehtë për të lidhur një printer është përmes kupave. Nuk mund ta lidhja printerin përmes USB, asnjë manipulim në këshillat në manualet nuk më ndihmuan, thjesht e prisha makinën virtuale disa herë.

  • Ne shkarkojmë drejtuesit nga faqja e internetit e prodhuesit xprintertech.com, ata vijnë në një arkiv për Windows, Mac dhe Linux

    Drejtuesit janë postuar në faqe për një sërë pajisjesh, në rastin tim Drejtues të printerit me etiketa 4 inç. Siç doli, XP-460B tashmë është ndërprerë, kuptova se cilës seri i përket bazuar në thërrimet e bukës së një modeli të ngjashëm XP-470B.

  • Instaloni printerin në Windows, aktivizoni ndarjen

    Konfigurimi i një printeri etiketash XPrinter në Linux në VMware Workstation

  • Për Linux, arkivi përmban 1 skedar 4BARCODE. Ky është një skedar 2 në 1, një skrip bash me një arkiv tar që shpaketohet vetë dhe kopjon drejtuesit në gota. Në rastin tim, bzip2 nevojitet për shpaketim (për serinë 80 mm, përdoret një arkivues tjetër)
    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • Tjetra ju duhet të hapni localhost:631 në shfletuesin, për lehtësi e bëj cilësimin që të hapet nga shfletuesi në Windows. Redakto /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>
    

    Shtoni portin 631 në murin e zjarrit (ose iptables):

    firewall-cmd --zone=public --add-port=631/tcp --permanent
    firewall-cmd --reload
    
  • Ne e hapim lidhjen në shfletues nga IP-ja e makinës virtuale, në rastin tim 192.168.1.5:631/admin

    Shtoni një printer (duhet të futni rrënjën dhe fjalëkalimin)

    Konfigurimi i një printeri etiketash XPrinter në Linux në VMware Workstation

  • Janë 2 opsione që kam arritur të konfiguroj, nëpërmjet protokollit LPD dhe nëpërmjet samba.
    1. Për t'u lidhur nëpërmjet protokollit LPD, duhet të aktivizoni shërbimin në Windows (Ndizni ose çaktivizoni veçoritë e Windows), rinisni kompjuterin.

      Konfigurimi i një printeri etiketash XPrinter në Linux në VMware Workstation
      Në cilësimet e kupave, shkruani lpd://192.168.1.52/Xprinter_XP-460B, ku 192.168.1.52 është IP e kompjuterit në të cilin është instaluar printeri, Xprinter_XP-460B është emri i printerit në cilësimet e ndarjes së Windows

      Konfigurimi i një printeri etiketash XPrinter në Linux në VMware Workstation
      Zgjidhni drejtuesin 4BARCODE => 4B-3064TA

      Konfigurimi i një printeri etiketash XPrinter në Linux në VMware Workstation
      Ne nuk zgjedhim asgjë në parametrat dhe nuk kursejmë! Provova të rregulloja madhësinë e etiketës, por më pas printeri nuk funksionon për ndonjë arsye. Madhësia e etiketës mund të caktohet në punën e printimit.

      Konfigurimi i një printeri etiketash XPrinter në Linux në VMware Workstation
      Përpjekja për të printuar një faqe testimi - u krye!

    2. Opsioni i dytë. Ju duhet të instaloni samba, të filloni, të rinisni kupat, më pas një pikë e re lidhjeje do të shfaqet në gota, në cilësimet futni një linjë si smb://user:[email mbrojtur]/Xprinter_XP-460B. Kur përdoruesi është përdorues në Windows, përdoruesi duhet të ketë një fjalëkalim, autorizimi nuk kalon me një të zbrazët.

Kur gjithçka funksionoi dhe printeri printoi një faqe testimi, punët mund të dërgohen përmes tastierës:

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

Në këtë shembull, etiketa ka përmasa 100x100 mm, 2 mm janë zgjedhur eksperimentalisht. Distanca midis etiketave është 3 mm, por nëse vendosni lartësinë në 103 mm, shiriti zhvendoset, është e papërshtatshme të grisni etiketën. Disavantazhi i protokollit LPD është se punët dërgohen si në një printer të rregullt, formati ESC / P0S nuk dërgohet për printim, sensori nuk kalibron etiketat.

Pastaj mund të punoni me printerin përmes php. Ka biblioteka për të punuar me filxhanë, është më e lehtë për mua të dërgoj një komandë në tastierë përmes exec();

Meqenëse ESC/P0S nuk funksionon, vendosa të bëj shabllone në pdf përmes bibliotekës 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');

Konfigurimi i një printeri etiketash XPrinter në Linux në VMware Workstation
Gati. Unë vrava 2 ditë pushim për t'u ngritur, shpresoj të jetë e dobishme për dikë.

Burimi: www.habr.com

Shto një koment