Configuració d'una impressora d'etiquetes XPrinter a Linux a VMware Workstation

Un exemple per configurar a CentOS sense un shell gràfic; per analogia, podeu configurar-lo en qualsevol sistema operatiu Linux.

Estic resolent un problema específic: necessito imprimir etiquetes amb text arbitrari mitjançant una plantilla de PHP. Com que no podeu comptar amb una connexió a Internet estable a l'esdeveniment i la majoria de les tasques d'automatització es superposen amb el lloc web, vam decidir treballar amb una màquina virtual a VMware.

XPrinter també és adequat per marcar tasques; la instal·lació a Windows és molt més fàcil. Em vaig decidir pel model XP-460B amb una amplada d'etiquetes de fins a 108 mm.

Configuració d'una impressora d'etiquetes XPrinter a Linux a VMware Workstation

Com que rarament instal·lo Linux i hi connecto dispositius, vaig buscar manuals de configuració ja fets i em vaig adonar que la manera més senzilla de connectar una impressora és mitjançant tasses. No vaig poder connectar la impressora mitjançant USB, no m'ha ajudat cap manipulació seguint els consells dels manuals, només he bloquejat la màquina virtual diverses vegades.

  • Baixeu els controladors des del lloc web del fabricant xprintertech.com, vénen en un sol arxiu per a Windows, Mac i Linux

    Els controladors es publiquen al lloc web per a una sèrie de dispositius, en el meu cas Controladors d'impressora d'etiquetes de 4 polzades. Com a resultat, l'XP-460B ja s'ha deixat de fabricar; Vaig entendre a quina sèrie pertany a partir de les molles d'un model similar, el XP-470B.

  • Instal·leu la impressora a Windows, activeu la compartició

    Configuració d'una impressora d'etiquetes XPrinter a Linux a VMware Workstation

  • Per a Linux, l'arxiu conté 1 fitxer 4BARCCODE. Aquest és un fitxer "2 en 1", un script bash amb un arxiu tar que es desempaqueta i copia els controladors a les tasses. En el meu cas, es necessita bzip2 per desempaquetar (per a la sèrie de 80 mm s'utilitza un arxivador diferent)
    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • A continuació, cal obrir localhost:631 al navegador, per comoditat faig una configuració per obrir-lo des del navegador a Windows. Editeu /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>
    

    Afegiu el port 631 al tallafoc (o iptables):

    firewall-cmd --zone=public --add-port=631/tcp --permanent
    firewall-cmd --reload
    
  • Obrim l'enllaç al navegador mitjançant la IP de la màquina virtual, en el meu cas 192.168.1.5:631/admin

    Afegiu una impressora (cal introduir l'arrel i la contrasenya)

    Configuració d'una impressora d'etiquetes XPrinter a Linux a VMware Workstation

  • Hi ha 2 opcions que he aconseguit configurar, mitjançant el protocol LPD i via samba.
    1. Per connectar-vos mitjançant el protocol LPD, heu d'habilitar el servei a Windows (activar o desactivar els components de Windows) i reiniciar l'ordinador.

      Configuració d'una impressora d'etiquetes XPrinter a Linux a VMware Workstation
      A la configuració de les tasses, introduïu lpd://192.168.1.52/Xprinter_XP-460B, on 192.168.1.52 és la IP de l'ordinador on està instal·lada la impressora, Xprinter_XP-460B és el nom de la impressora a la configuració de compartició de Windows

      Configuració d'una impressora d'etiquetes XPrinter a Linux a VMware Workstation
      Seleccioneu el controlador 4BARCCODE => 4B-3064TA

      Configuració d'una impressora d'etiquetes XPrinter a Linux a VMware Workstation
      No seleccionem ni desem res als paràmetres! He provat d'ajustar la mida de l'etiqueta, però la impressora no funciona per algun motiu. La mida de l'etiqueta es pot especificar al treball d'impressió.

      Configuració d'una impressora d'etiquetes XPrinter a Linux a VMware Workstation
      Intentem imprimir una pàgina de prova, fet!

    2. Segona opció. Heu d'instal·lar samba, iniciar, reiniciar tasses, després apareixerà un nou punt de connexió a tasses, a la configuració introduïu una línia com smb://user:[protegit per correu electrònic]/Xprinter_XP-460B. Quan l'usuari és un usuari a Windows, l'usuari ha de tenir una contrasenya establerta, l'autorització no funciona amb una de buida.

Quan tot va funcionar i la impressora va imprimir una pàgina de prova, els treballs es poden enviar a través de la consola:

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

En aquest exemple, l'etiqueta té unes dimensions de 100x100 mm, 2 mm es van seleccionar experimentalment. La distància entre les etiquetes és de 3 mm, però si configureu l'alçada a 103 mm, la cinta es desplaça, cosa que dificulta l'arrencada de l'etiqueta. El desavantatge del protocol LPD és que els treballs s'envien com a una impressora normal, el format ESC/P0S no s'envia per imprimir i el sensor no calibra les etiquetes.

A continuació, podeu treballar amb la impressora mitjançant php. Hi ha biblioteques per treballar amb tasses, em resulta més fàcil enviar una ordre a la consola mitjançant exec();

Com que ESC/P0S no funciona, vaig decidir fer plantilles en pdf utilitzant la biblioteca 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');

Configuració d'una impressora d'etiquetes XPrinter a Linux a VMware Workstation
A punt. Vaig passar 2 caps de setmana muntant-lo, espero que això sigui útil a algú.

Font: www.habr.com

Afegeix comentari