XPrinter-tarratulostimen määrittäminen Linuxissa VMware Workstationissa

Esimerkki asennuksesta CentOS:ään ilman graafista kuorta; analogisesti voit määrittää mihin tahansa Linux-käyttöjärjestelmään.

Ratkaisen erityistä ongelmaa: minun on tulostettava tarrat mielivaltaisella tekstillä PHP-mallin avulla. Koska tapahtumassa ei voi luottaa vakaaseen nettiyhteyteen ja suurin osa automaatiotehtävistä menee päällekkäin sivuston kanssa, päätimme työskennellä virtuaalikoneen kanssa VMwaressa.

XPrinter sopii myös tehtävien merkitsemiseen, asennus Windowsiin on paljon helpompaa. Päädyin malliin XP-460B, jonka tarraleveys oli jopa 108 mm.

XPrinter-tarratulostimen määrittäminen Linuxissa VMware Workstationissa

Koska asensin Linuxia harvoin ja liitän siihen laitteita, etsin valmiita asennusoppaita ja tajusin, että helpoin tapa liittää tulostin on kuppien kautta. En voinut kytkeä tulostinta USB:n kautta, mikään käsikirjoissa annettujen ohjeiden mukaiset manipulaatiot auttoivat, kaatin vain virtuaalikoneen useita kertoja.

  • Lataa ajurit valmistajan verkkosivuilta xprintertech.com, ne ovat yhdessä arkistossa Windowsille, Macille ja Linuxille

    Minun tapauksessani useiden laitteiden ajurit on julkaistu verkkosivustolla 4 tuuman tarratulostinohjaimet. Kuten kävi ilmi, XP-460B on jo lopetettu, kumpaan sarjaan se kuuluu, selvittelin samanlaisen mallin XP-470B:n korppumurujen perusteella.

  • Asenna tulostin Windowsiin, ota jakaminen käyttöön

    XPrinter-tarratulostimen määrittäminen Linuxissa VMware Workstationissa

  • Linuxille arkisto sisältää 1 tiedoston 4BAARCODE. Tämä on "2 in 1" -tiedosto, bash-skripti, jossa on tar-arkisto, joka purkaa itsensä ja kopioi ohjaimet cupeihin. Minun tapauksessani tarvitaan bzip2 pakkauksen purkamiseen (80 mm sarjassa käytetään eri arkistointia)
    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • Seuraavaksi sinun on avattava localhost:631 selaimessa, teen mukavuussyistä asetuksen, joka avautuu Windows-selaimesta. Muokkaa /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>
    

    Lisää portti 631 palomuuriin (tai iptablesiin):

    firewall-cmd --zone=public --add-port=631/tcp --permanent
    firewall-cmd --reload
    
  • Avaamme linkin selaimessa käyttämällä virtuaalikoneen IP-osoitetta, minun tapauksessani 192.168.1.5:631/järjestelmänvalvoja

    Lisää tulostin (sinun on annettava root ja salasana)

    XPrinter-tarratulostimen määrittäminen Linuxissa VMware Workstationissa

  • On 2 vaihtoehtoa, jotka onnistuin määrittämään, LPD-protokollan ja samban kautta.
    1. Jos haluat muodostaa yhteyden LPD-protokollan kautta, sinun on otettava palvelu käyttöön Windowsissa (Ota Windowsin komponentit päälle tai pois päältä) ja käynnistettävä tietokone uudelleen.

      XPrinter-tarratulostimen määrittäminen Linuxissa VMware Workstationissa
      Kirjoita kuppien asetuksiin lpd://192.168.1.52/Xprinter_XP-460B, jossa 192.168.1.52 on sen tietokoneen IP-osoite, johon tulostin on asennettu, Xprinter_XP-460B on tulostimen nimi Windowsin jakamisasetuksissa.

      XPrinter-tarratulostimen määrittäminen Linuxissa VMware Workstationissa
      Valitse ohjain 4BARCODE => 4B-3064TA

      XPrinter-tarratulostimen määrittäminen Linuxissa VMware Workstationissa
      Emme valitse tai tallenna mitään parametreihin! Yritin säätää tarran kokoa, mutta tulostin ei jostain syystä toimi. Tarran koko voidaan määrittää tulostustyössä.

      XPrinter-tarratulostimen määrittäminen Linuxissa VMware Workstationissa
      Yritämme tulostaa testisivun - valmis!

    2. Toinen vaihtoehto. Sinun täytyy asentaa samba, käynnistää, käynnistää cups uudelleen, sitten kupeihin ilmestyy uusi yhteyspiste, kirjoita asetuksiin rivi, kuten smb://user:[sähköposti suojattu]/Xprinter_XP-460B. Jos käyttäjä on Windows-käyttäjä, käyttäjällä on oltava salasana asetettuna, valtuutus ei toimi tyhjällä.

Kun kaikki toimi ja tulostin on tulostanut testisivun, työt voidaan lähettää konsolin kautta:

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

Tässä esimerkissä etiketin mitat ovat 100x100 mm, 2 mm valittiin kokeellisesti. Tarrojen välinen etäisyys on 3 mm, mutta jos asetat korkeudeksi 103 mm, teippi siirtyy, jolloin tarran irrottaminen on hankalaa. LPD-protokollan haittana on, että työt lähetetään kuten tavalliselle tulostimelle, ESC/P0S-muotoa ei lähetetä tulostukseen, eikä anturi kalibroi tarroja.

Sitten voit työskennellä tulostimen kanssa php:n kautta. Kuppien kanssa työskentelemiseen on kirjastoja, minun on helpompi lähettää komento konsoliin exec();

Koska ESC/P0S ei toimi, päätin tehdä mallit pdf-muodossa käyttämällä tFPDF-kirjastoa.

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-tarratulostimen määrittäminen Linuxissa VMware Workstationissa
Valmis. Vietin 2 viikonloppua asennuksessa, toivottavasti tästä on jollekin hyötyä.

Lähde: will.com

Lisää kommentti