Mengkonfigurasi Printer Label XPrinter di Linux di VMware Workstation

Contoh untuk mengkonfigurasi pada CentOS tanpa shell grafis, dengan analogi, Anda dapat mengkonfigurasinya pada OS Linux apa pun.

Saya memecahkan masalah tertentu, dari php Anda perlu mencetak label dengan teks sewenang-wenang sesuai template. Karena tidak mungkin untuk mengandalkan Internet yang stabil pada acara tersebut, dan sebagian besar tugas otomatisasi bersinggungan dengan situs web, kami memutuskan untuk bekerja dengan mesin virtual pada VMware.

XPrinter juga cocok untuk menandai tugas, menginstal di bawah windows jauh lebih mudah. Dia berhenti pada model XP-460B dengan lebar label hingga 108 mm.



Karena saya jarang berurusan dengan pengaturan Linux dan menghubungkan perangkat ke sana, saya mencari manual konfigurasi yang sudah jadi, saya menyadari bahwa cara termudah untuk menghubungkan printer melalui cangkir. Saya tidak bisa menghubungkan printer melalui USB, manipulasi apa pun pada tips dalam manual tidak membantu, saya hanya merusak mesin virtual beberapa kali.

  • Unduh driver dari situs web produsen xprintertech.com, mereka datang dalam satu arsip untuk Windows, Mac dan Linux.

    Driver terletak di situs untuk serangkaian perangkat, dalam kasus saya 4 inci Label Printer Drivers . Ternyata, XP-460B telah dihentikan, saya menyadari seri mana yang termasuk dalam remah roti dari model XP-470B yang serupa.
  • Instal printer di windows, aktifkan berbagi

  • Linux 1 4BARCODE. ยซ2 1ยป , bash tar , cups. bzip2 ( 80 )

    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • localhost:631 , , windows. /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>
    

    631 firewall ( iptables):

    firewall-cmd --zone=public --add-port=631/tcp --permanent
    firewall-cmd --reload
    
  • IP , 192.168.1.5:631/admin

    ( root )

  • 2 , , LPD samba.

    1. LPD, windows ( Windows), .


      cups lpd://192.168.1.52/Xprinter_XP-460B, 192.168.1.52 โ€” IP , , Xprinter_XP-460B โ€” windows


      4BARCODE => 4B-3064TA


      ! , - . .


      โ€” !
    2. . samba, , cups, cups, smb://user:password@192.168.1.52/Xprinter_XP-460B. , user โ€” windows, , .

Ketika semuanya berubah dan printer mencetak halaman uji, tugas-tugas dapat dikirim melalui konsol:

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

Dalam contoh ini, label yang memiliki dimensi 100x100 mm, 2 mm dipilih secara eksperimental. Jarak antara label adalah 3 mm, tetapi jika Anda mengatur ketinggian ke 103 mm, pita itu digeser, tidak nyaman untuk merobek label. Kerugian dari protokol LPD adalah bahwa pekerjaan dikirim ke printer biasa, format ESC / P0S tidak dikirim ke printer, sensor tidak mengkalibrasi label.

Kemudian Anda dapat bekerja dengan printer melalui php. Ada perpustakaan untuk bekerja dengan cangkir, lebih mudah bagi saya untuk mengirim perintah ke konsol melalui exec ();

Karena ESC / P0S tidak berfungsi, saya memutuskan untuk membuat template dalam pdf melalui pustaka 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');


Selesai Saya membunuh 2 hari libur untuk mengatur, saya harap ini akan berguna bagi seseorang.

All Articles