In XPrinter-labelprinter ynstelle op Linux yn VMware Workstation

In foarbyld foar it ynstellen op CentOS sûnder in grafyske shell; analogy kinne jo ynstelle op elk Linux OS.

Ik los in spesifyk probleem op: ik moat labels mei willekeurige tekst printsje mei in sjabloan fan PHP. Sûnt jo kinne net rekkenje op in stabile ynternet ferbining by it evenemint, en de measte fan de automatisearring taken oerlappe mei de webside, wy besletten om te wurkjen mei in firtuele masine op VMware.

XPrinter is ek geskikt foar it markearjen fan taken; ynstallaasje ûnder Windows is folle makliker. Ik fêstige op it XP-460B-model mei in labelbreedte fan maksimaal 108 mm.

In XPrinter-labelprinter ynstelle op Linux yn VMware Workstation

Sûnt ik komselden ynstelle Linux en ferbinen apparaten oan it, Ik socht nei klearmakke opset hânboeken en realisearre dat de maklikste manier om te ferbinen in printer is troch bekers. Ik koe de printer net ferbine fia USB, gjin manipulaasjes nei it advys yn 'e hantliedingen holpen, ik ferûngelokke gewoan de firtuele masine ferskate kearen.

  • Download bestjoerders fan 'e webside fan' e fabrikant xprintertech.com, se komme yn ien argyf foar Windows, Mac en Linux

    Bestjoerders wurde pleatst op 'e webside foar in rige fan apparaten, yn myn gefal 4 inch Label Printer Drivers. Sa't it docht bliken, is de XP-460B al beëinige; Ik haw útfûn hokker searje it heart op basis fan 'e breadcrumbs fan in ferlykber model, de XP-470B.

  • Ynstallearje de printer yn Windows, ynskeakelje dielen

    In XPrinter-labelprinter ynstelle op Linux yn VMware Workstation

  • Foar Linux befettet it argyf 1 bestân 4BARCODE. Dit is in "2 yn 1" bestân, in bash-skript mei in tar-argyf dat himsels útpakt en de sjauffeurs kopiearret nei bekers. Yn myn gefal is bzip2 nedich foar it útpakke (foar de 80 mm-searje wurdt in oare argiver brûkt)
    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • Folgjende moatte jo iepenje localhost:631 yn 'e blêder, foar it gemak meitsje ik in ynstelling om te iepenjen fan 'e browser yn Windows. /etc/cups/cupsd.conf bewurkje:
    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>
    

    Foegje poarte 631 ta oan 'e firewall (as iptables):

    firewall-cmd --zone=public --add-port=631/tcp --permanent
    firewall-cmd --reload
    
  • Wy iepenje de keppeling yn 'e browser mei it IP fan' e firtuele masine, yn myn gefal 192.168.1.5:631/admin

    Foegje in printer ta (jo moatte root en wachtwurd ynfiere)

    In XPrinter-labelprinter ynstelle op Linux yn VMware Workstation

  • D'r binne 2 opsjes dy't ik slagge om te konfigurearjen, fia it LPD-protokol en fia samba.
    1. Om te ferbinen fia it LPD-protokol, moatte jo de tsjinst yn Windows ynskeakelje (Windows-komponinten yn- of útskeakelje) en de kompjûter opnij starte.

      In XPrinter-labelprinter ynstelle op Linux yn VMware Workstation
      Fier yn 'e bekerynstellingen lpd://192.168.1.52/Xprinter_XP-460B yn, wêrby't 192.168.1.52 de IP is fan 'e kompjûter wêrop de printer is ynstalleare, Xprinter_XP-460B is de namme fan 'e printer yn 'e finsters foar dielen

      In XPrinter-labelprinter ynstelle op Linux yn VMware Workstation
      Selektearje bestjoerder 4BARCODE => 4B-3064TA

      In XPrinter-labelprinter ynstelle op Linux yn VMware Workstation
      Wy selektearje of bewarje neat yn 'e parameters! Ik besocht de labelgrutte oan te passen, mar doe wurket de printer om ien of oare reden net. De labelgrutte kin oanjûn wurde yn 'e printtaak.

      In XPrinter-labelprinter ynstelle op Linux yn VMware Workstation
      Wy besykje in testside te printsjen - klear!

    2. Twadde opsje. Jo moatte samba ynstallearje, begjinne, opnij starte cups, dan sil in nij ferbiningspunt ferskine yn cups, yn 'e ynstellings ynfiere in rigel lykas smb: // brûker:[e-post beskerme]/Xprinter_XP-460B. Wêr't brûker in brûker is yn Windows, moat de brûker in wachtwurd ynsteld hawwe, autorisaasje wurket net mei in lege.

As alles útwurke en de printer in testside printe, kinne banen fia de konsole stjoerd wurde:

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

Yn dit foarbyld, it label hat ôfmjittings fan 100x100 mm, 2 mm waarden selektearre eksperiminteel. De ôfstân tusken de labels is 3 mm, mar as jo de hichte op 103 mm ynstelle, feroaret de tape, wêrtroch it ûngemaklik is om it label ôf te skuorjen. It neidiel fan it LPD-protokol is dat banen wurde ferstjoerd as in gewoane printer, it ESC / P0S-formaat wurdt net stjoerd foar printsjen, en de sensor kalibreart gjin labels.

Dan kinne jo wurkje mei de printer fia php. Der binne biblioteken foar in wurk mei bekers, it is makliker foar my in stjoer in kommando nei de konsole fia exec ();

Sûnt ESC/P0S net wurket, besleat ik sjabloanen te meitsjen yn pdf mei de tFPDF-bibleteek

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

In XPrinter-labelprinter ynstelle op Linux yn VMware Workstation
Klear. Ik haw 2 wykeinen trochbrocht oan it opsetten, ik hoopje dat dit nuttich wêze sil foar ien.

Boarne: www.habr.com

Add a comment