VMware Workstation da Linuxda XPrinter Label Printerni sozlash

CentOS-da grafik qobiqsiz o'rnatishga misol; analogiya bo'yicha siz uni istalgan Linux operatsion tizimida sozlashingiz mumkin.

Men ma'lum bir muammoni hal qilaman, php'dan shablon bo'yicha ixtiyoriy matnli teglarni chop etishim kerak. Tadbir barqaror Internetga tayanmasligi va avtomatlashtirish vazifalarining aksariyati veb-sayt bilan bir-biriga mos kelishi sababli biz VMware-da virtual mashina bilan ishlashga qaror qildik.

XPrinter vazifalarni belgilash uchun ham mos keladi, uni derazalar ostida o'rnatish ancha oson. Men yorliq kengligi 460 mm gacha bo'lgan XP-108B modeliga joylashdim.

VMware Workstation da Linuxda XPrinter Label Printerni sozlash

Men kamdan-kam hollarda Linuxni o'rnatganim va unga qurilmalarni ulaganim uchun, men tayyor sozlash qo'llanmalarini qidirdim, printerni ulashning eng oson yo'li stakanlar orqali ekanligini tushundim. Men printerni USB orqali ulay olmadim, qo'llanmalardagi maslahatlar bo'yicha hech qanday manipulyatsiya yordam bermadi, men virtual mashinani bir necha marta sindirib tashladim.

  • Biz drayverlarni ishlab chiqaruvchining xprintertech.com veb-saytidan yuklab olamiz, ular Windows, Mac va Linux uchun bitta arxivda keladi.

    Haydovchilar saytga bir qator qurilmalar uchun joylashtirilgan, mening holimda 4 dyuymli yorliqli printer drayverlari. Ma'lum bo'lishicha, XP-460B allaqachon ishlab chiqarish to'xtatilgan, men shunga o'xshash XP-470B rusumidagi non bo'laklari asosida uning qaysi seriyaga tegishli ekanligini aniqladim.

  • Printerni Windows-ga o'rnating, almashishni yoqing

    VMware Workstation da Linuxda XPrinter Label Printerni sozlash

  • Linux uchun arxivda 1 ta fayl 4BARCODE mavjud. Bu 2-si 1-da fayl, o'zini o'zi ochadigan va drayverlarni stakanlarga ko'chiradigan tar arxiviga ega bash skripti. Mening holatimda, bzip2 paketini ochish uchun kerak (80 mm seriyali uchun boshqa arxivator ishlatiladi)
    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • Keyinchalik siz ochishingiz kerak localhost:631 brauzerda, qulaylik uchun men brauzerdan windows-da ochishni sozlayman. /etc/cups/cupsd.conf ni tahrirlang:
    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>
    

    Xavfsizlik devoriga (yoki iptables) 631 port qo'shing:

    firewall-cmd --zone=public --add-port=631/tcp --permanent
    firewall-cmd --reload
    
  • Biz brauzerdagi havolani virtual mashinaning IP-si orqali ochamiz, mening holimda 192.168.1.5:631/admin

    Printer qo'shing (siz ildiz va parolni kiritishingiz kerak)

    VMware Workstation da Linuxda XPrinter Label Printerni sozlash

  • Men LPD protokoli va samba orqali sozlashga muvaffaq bo'lgan ikkita variant bor.
    1. LPD protokoli orqali ulanish uchun Windows-da xizmatni yoqishingiz kerak (Windows xususiyatlarini yoqish yoki o'chirish), kompyuterni qayta ishga tushirish.

      VMware Workstation da Linuxda XPrinter Label Printerni sozlash
      Kuboklar sozlamalarida lpd://192.168.1.52/Xprinter_XP-460B ni kiriting, bu erda 192.168.1.52 printer o'rnatilgan kompyuterning IP-si, Xprinter_XP-460B - Windows almashish sozlamalarida printerning nomi.

      VMware Workstation da Linuxda XPrinter Label Printerni sozlash
      4BARCODE => 4B-3064TA drayverini tanlang

      VMware Workstation da Linuxda XPrinter Label Printerni sozlash
      Biz parametrlarda hech narsani tanlamaymiz va saqlamaymiz! Men yorliq hajmini sozlashga harakat qildim, lekin keyin printer negadir ishlamayapti. Yorliq o'lchami chop etish ishida o'rnatilishi mumkin.

      VMware Workstation da Linuxda XPrinter Label Printerni sozlash
      Sinov sahifasini chop etishga urinish - bajarildi!

    2. Ikkinchi variant. Siz samba-ni o'rnatishingiz, stakanlarni ishga tushirishingiz, qayta ishga tushirishingiz kerak, keyin stakanlarda yangi ulanish nuqtasi paydo bo'ladi, sozlamalarda smb: // user kabi qatorni kiriting:[elektron pochta bilan himoyalangan]/Xprinter_XP-460B. Agar foydalanuvchi Windows foydalanuvchisi bo'lsa, foydalanuvchi parolga ega bo'lishi kerak, avtorizatsiya bo'sh parol bilan o'tmaydi.

Hammasi bajarilganda va printer sinov sahifasini chop etganda, vazifalar konsol orqali yuborilishi mumkin:

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

Ushbu misolda yorliq 100x100 mm o'lchamlarga ega, 2 mm eksperimental ravishda tanlanadi. Yorliqlar orasidagi masofa 3 mm, lekin agar siz balandlikni 103 mm ga o'rnatsangiz, lenta siljiydi, yorliqni yirtib tashlash noqulay. LPD protokolining kamchiliklari shundaki, ishlar oddiy printerga yuboriladi, ESC / P0S formati chop etish uchun yuborilmaydi, sensor teglarni kalibrlamaydi.

Keyin printer bilan php orqali ishlashingiz mumkin. Kuboklar bilan ishlash uchun kutubxonalar mavjud, men uchun exec() orqali konsolga buyruq yuborish osonroq.

ESC/P0S ishlamagani uchun tFPDF kutubxonasi orqali pdf formatida shablonlarni yaratishga qaror qildim.

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

VMware Workstation da Linuxda XPrinter Label Printerni sozlash
Tayyor. O'rnatish uchun 2 kun dam oldim, kimgadir foydali bo'ladi degan umiddaman.

Manba: www.habr.com

a Izoh qo'shish