Pagse-set up ng XPrinter label printer sa Linux sa VMware Workstation

Isang halimbawa para sa pag-set up sa CentOS nang walang graphical na shell; sa pamamagitan ng pagkakatulad, maaari kang mag-set up sa anumang Linux OS.

Nilulutas ko ang isang partikular na problema: Kailangan kong mag-print ng mga label na may di-makatwirang teksto gamit ang isang template mula sa PHP. Dahil hindi ka makakaasa sa isang matatag na koneksyon sa Internet sa kaganapan, at ang karamihan sa mga gawain sa automation ay nagsasapawan sa website, nagpasya kaming gumamit ng isang virtual machine sa VMware.

Ang XPrinter ay angkop din para sa pagmamarka ng mga gawain; ang pag-install sa ilalim ng Windows ay mas madali. Nanirahan ako sa modelong XP-460B na may lapad ng label na hanggang 108 mm.

Pagse-set up ng XPrinter label printer sa Linux sa VMware Workstation

Dahil bihira akong mag-set up ng Linux at magkonekta ng mga device dito, naghanap ako ng mga handa na manual na pag-setup at napagtanto ko na ang pinakamadaling paraan upang kumonekta sa isang printer ay sa pamamagitan ng mga tasa. Hindi ko maikonekta ang printer sa pamamagitan ng USB; wala sa mga manipulasyon na sumusunod sa payo sa mga manual na nakatulong, na-crash ko lang ang virtual machine nang ilang beses.

  • Mag-download ng mga driver mula sa website ng tagagawa na xprintertech.com, dumating sila sa isang archive para sa Windows, Mac at Linux

    Ang mga driver ay nai-post sa website para sa isang serye ng mga device, sa aking kaso Mga Driver ng Printer ng Label na 4 pulgada. Sa lumalabas, ang XP-460B ay hindi na ipinagpatuloy; Naisip ko kung saang serye ito kabilang batay sa mga breadcrumb ng isang katulad na modelo, ang XP-470B.

  • I-install ang printer sa Windows, paganahin ang pagbabahagi

    Pagse-set up ng XPrinter label printer sa Linux sa VMware Workstation

  • Para sa Linux, naglalaman ang archive ng 1 file na 4BARCODE. Ito ay isang "2 sa 1" na file, isang bash script na may tar archive na naglalabas ng sarili nito at kinokopya ang mga driver sa mga tasa. Sa aking kaso, kailangan ang bzip2 para sa pag-unpack (para sa 80 mm na serye ay ibang archiver ang ginagamit)
    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • Susunod na kailangan mong buksan localhost:631 sa browser, para sa kaginhawahan gumawa ako ng setting para buksan mula sa browser sa Windows. I-edit /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>
    

    Magdagdag ng port 631 sa firewall (o iptables):

    firewall-cmd --zone=public --add-port=631/tcp --permanent
    firewall-cmd --reload
    
  • Binuksan namin ang link sa browser gamit ang IP ng virtual machine, sa aking kaso 192.168.1.5:631/admin

    Magdagdag ng printer (kailangan mong ilagay ang root at password)

    Pagse-set up ng XPrinter label printer sa Linux sa VMware Workstation

  • Mayroong 2 opsyon na nagawa kong i-configure, sa pamamagitan ng LPD protocol at sa pamamagitan ng samba.
    1. Upang kumonekta sa pamamagitan ng LPD protocol, kailangan mong paganahin ang serbisyo sa mga bintana (I-on o i-off ang mga bahagi ng Windows) at i-restart ang computer.

      Pagse-set up ng XPrinter label printer sa Linux sa VMware Workstation
      Sa mga setting ng cups, ipasok ang lpd://192.168.1.52/Xprinter_XP-460B, kung saan 192.168.1.52 ang IP ng computer kung saan naka-install ang printer, Xprinter_XP-460B ang pangalan ng printer sa mga setting ng pagbabahagi ng windows

      Pagse-set up ng XPrinter label printer sa Linux sa VMware Workstation
      Piliin ang driver 4BARCODE => 4B-3064TA

      Pagse-set up ng XPrinter label printer sa Linux sa VMware Workstation
      Hindi kami pumipili o nagse-save ng anuman sa mga parameter! Sinubukan kong ayusin ang laki ng label, ngunit pagkatapos ay hindi gumagana ang printer sa ilang kadahilanan. Maaaring tukuyin ang laki ng label sa trabaho sa pag-print.

      Pagse-set up ng XPrinter label printer sa Linux sa VMware Workstation
      Sinusubukan naming mag-print ng test page - tapos na!

    2. Pangalawang opsyon. Kailangan mong mag-install ng samba, magsimula, i-restart ang mga tasa, pagkatapos ay lilitaw ang isang bagong punto ng koneksyon sa mga tasa, sa mga setting magpasok ng isang linya tulad ng smb://user:[protektado ng email]/Xprinter_XP-460B. Kung saan, ang user ay isang user sa Windows, ang user ay dapat na may set ng password, ang awtorisasyon ay hindi gumagana sa isang walang laman.

Kapag maayos na ang lahat at nag-print ang printer ng test page, maaaring ipadala ang mga trabaho sa pamamagitan ng console:

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

Sa halimbawang ito, ang label ay may mga sukat na 100x100 mm, 2 mm ang napili sa pang-eksperimentong paraan. Ang distansya sa pagitan ng mga label ay 3 mm, ngunit kung itatakda mo ang taas sa 103 mm, ang tape ay nagbabago, na ginagawang hindi maginhawa upang mapunit ang label. Ang kawalan ng LPD protocol ay ang mga trabaho ay ipinapadala bilang sa isang regular na printer, ang ESC/P0S na format ay hindi ipinadala para sa pag-print, at ang sensor ay hindi nag-calibrate ng mga label.

Pagkatapos ay maaari kang magtrabaho kasama ang printer sa pamamagitan ng php. Mayroong mga aklatan para sa pagtatrabaho sa mga tasa, mas madali para sa akin na magpadala ng isang utos sa console sa pamamagitan ng exec();

Dahil hindi gumagana ang ESC/P0S, nagpasya akong gumawa ng mga template sa pdf gamit ang tFPDF library

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

Pagse-set up ng XPrinter label printer sa Linux sa VMware Workstation
handa na. Gumugol ako ng 2 katapusan ng linggo sa pag-set up nito, umaasa akong magiging kapaki-pakinabang ito sa isang tao.

Pinagmulan: www.habr.com

Magdagdag ng komento