Konfigurera en XPrinter-etikettskrivare på Linux i VMware Workstation

Ett exempel för installation i CentOS utan ett grafiskt skal; analogt kan du ställa in det på vilket Linux OS som helst.

Jag löser ett specifikt problem, från php behöver jag skriva ut etiketter med godtycklig text enligt en mall. Eftersom evenemanget inte kan förlita sig på ett stabilt internet, och de flesta av automationsuppgifterna överlappar webbplatsen, bestämde vi oss för att arbeta med en virtuell maskin på VMware.

XPrinter lämpar sig även för att markera uppgifter, det är mycket lättare att installera under Windows. Jag bestämde mig för XP-460B-modellen med en etikettbredd på upp till 108 mm.

Konfigurera en XPrinter-etikettskrivare på Linux i VMware Workstation

Eftersom jag sällan ställer in Linux och ansluter enheter till det letade jag efter färdiga installationsmanualer, jag insåg att det enklaste sättet att ansluta en skrivare är genom koppar. Jag kunde inte ansluta skrivaren via USB, inga manipulationer på råden i manualerna hjälpte, jag bröt bara den virtuella maskinen flera gånger.

  • Vi laddar ner drivrutinerna från tillverkarens webbplats xprintertech.com, de finns i ett arkiv för Windows, Mac och Linux

    Drivrutiner publiceras på webbplatsen för en rad enheter, i mitt fall 4 tums drivrutiner för etikettskrivare. Som det visade sig har XP-460B redan utgått, jag kom på vilken serie den tillhör baserat på brödsmulor av en liknande XP-470B-modell.

  • Installera skrivaren i Windows, aktivera delning

    Konfigurera en XPrinter-etikettskrivare på Linux i VMware Workstation

  • För Linux innehåller arkivet 1 fil 4BARCODE. Detta är en 2-i-1-fil, ett bash-skript med ett tar-arkiv som packar upp sig själv och kopierar drivrutinerna till koppar. I mitt fall behövs bzip2 för uppackning (för 80 mm-serien används en annan arkiverare)
    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • Därefter måste du öppna lokalvärd:631 i webbläsaren, för enkelhets skull gör jag inställningen för att öppna från webbläsaren i Windows. Redigera /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>
    

    Lägg till port 631 till brandväggen (eller iptables):

    firewall-cmd --zone=public --add-port=631/tcp --permanent
    firewall-cmd --reload
    
  • Vi öppnar länken i webbläsaren med IP-adressen för den virtuella maskinen, i mitt fall 192.168.1.5:631/admin

    Lägg till en skrivare (du måste ange root och lösenord)

    Konfigurera en XPrinter-etikettskrivare på Linux i VMware Workstation

  • Det finns 2 alternativ som jag lyckades konfigurera, via LPD-protokollet och via samba.
    1. För att ansluta via LPD-protokollet måste du aktivera tjänsten i Windows (Slå på eller av Windows-funktioner), starta om datorn.

      Konfigurera en XPrinter-etikettskrivare på Linux i VMware Workstation
      I kopparnas inställningar anger du lpd://192.168.1.52/Xprinter_XP-460B, där 192.168.1.52 är IP-adressen för datorn som skrivaren är installerad på, Xprinter_XP-460B är namnet på skrivaren i Windows delningsinställningar

      Konfigurera en XPrinter-etikettskrivare på Linux i VMware Workstation
      Välj drivrutin 4BARCODE => 4B-3064TA

      Konfigurera en XPrinter-etikettskrivare på Linux i VMware Workstation
      Vi väljer inget i parametrarna och sparar inte! Jag försökte justera etikettstorleken, men sedan fungerar inte skrivaren av någon anledning. Etikettstorleken kan ställas in i utskriftsjobbet.

      Konfigurera en XPrinter-etikettskrivare på Linux i VMware Workstation
      Försöker skriva ut en testsida - klart!

    2. Andra alternativet. Du måste installera samba, starta, starta om cups, sedan kommer en ny anslutningspunkt att dyka upp i cups, i inställningarna anger du en rad som smb://user:[e-postskyddad]/Xprinter_XP-460B. Där användaren är en användare i Windows måste användaren ha ett lösenord, auktorisering går inte med ett tomt.

När allt fungerade och skrivaren skrev ut en testsida kan jobb skickas via konsolen:

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

I det här exemplet har etiketten dimensionerna 100x100 mm, 2 mm väljs experimentellt. Avståndet mellan etiketterna är 3 mm, men om du ställer in höjden till 103 mm förskjuts tejpen, det är obekvämt att riva av etiketten. Nackdelen med LPD-protokollet är att jobb skickas som till en vanlig skrivare, ESC/P0S-formatet skickas inte för utskrift, sensorn kalibrerar inte etiketter.

Sedan kan du arbeta med skrivaren genom php. Det finns bibliotek för att arbeta med koppar, det är lättare för mig att skicka ett kommando till konsolen via exec();

Eftersom ESC/P0S inte fungerar bestämde jag mig för att göra mallar i pdf via tFPDF-biblioteket

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

Konfigurera en XPrinter-etikettskrivare på Linux i VMware Workstation
Redo. Jag dödade 2 dagar ledigt för att ställa in, jag hoppas att det kommer att vara användbart för någon.

Källa: will.com

Lägg en kommentar