XPrinter Label Printer-ի կարգավորում Linux-ում VMware Workstation-ում

CentOS-ում առանց գրաֆիկական կեղևի տեղադրման օրինակ; անալոգիայի համաձայն, դուք կարող եք այն կարգավորել ցանկացած Linux OS-ում:

Ես կոնկրետ խնդիր եմ լուծում, php-ից պետք է կամայական տեքստով պիտակներ տպեմ՝ ըստ կաղապարի։ Քանի որ միջոցառումը չի կարող հիմնվել կայուն ինտերնետի վրա, և ավտոմատացման առաջադրանքների մեծ մասը համընկնում են կայքի հետ, մենք որոշեցինք աշխատել վիրտուալ մեքենայի հետ VMware-ում:

XPrinter-ը հարմար է նաև առաջադրանքները նշելու համար, այն շատ ավելի հեշտ է տեղադրել պատուհանների տակ։ Ես տեղավորվեցի XP-460B մոդելի վրա, որի պիտակի լայնությունը մինչև 108 մմ է:

XPrinter Label Printer-ի կարգավորում Linux-ում VMware Workstation-ում

Քանի որ ես հազվադեպ էի տեղադրում Linux-ը և սարքերը միացնում դրան, ես փնտրում էի պատրաստի տեղադրման ձեռնարկներ, ես հասկացա, որ տպիչը միացնելու ամենահեշտ ձևը բաժակների միջոցով է: Ես չկարողացա միացնել տպիչը USB-ի միջոցով, ձեռնարկների խորհրդով ոչ մի մանիպուլյացիա չօգնեց, ես պարզապես մի քանի անգամ կոտրեցի վիրտուալ մեքենան:

  • Մենք ներբեռնում ենք դրայվերները արտադրողի կայքից xprintertech.com, դրանք գալիս են մեկ արխիվում Windows-ի, Mac-ի և Linux-ի համար։

    Կայքում դրայվերներ են տեղադրված մի շարք սարքերի համար, իմ դեպքում 4 դյույմ Label Printer Drivers. Ինչպես պարզվեց, XP-460B-ն արդեն դադարեցվել է, ես պարզեցի, թե որ շարքին է այն պատկանում՝ հիմնվելով նմանատիպ XP-470B մոդելի փշրանքների վրա:

  • Տեղադրեք տպիչը Windows-ում, միացրեք համօգտագործումը

    XPrinter Label Printer-ի կարգավորում Linux-ում VMware Workstation-ում

  • Linux-ի համար արխիվը պարունակում է 1 ֆայլ 4 BARCODE: Սա 2-ը 1-ում ֆայլ է, bash սկրիպտ՝ tar արխիվով, որն ինքն իրեն բացում է և պատճենում դրայվերները բաժակների մեջ: Իմ դեպքում, 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/ադմին

    Ավելացնել տպիչ (դուք պետք է մուտքագրեք root և գաղտնաբառը)

    XPrinter Label Printer-ի կարգավորում Linux-ում VMware Workstation-ում

  • Կա 2 տարբերակ, որոնք ինձ հաջողվեց կարգավորել՝ LPD արձանագրության և սամբայի միջոցով։
    1. LPD արձանագրության միջոցով միանալու համար պետք է միացնել ծառայությունը Windows-ում (Միացնել կամ անջատել Windows-ի հնարավորությունները), վերագործարկել համակարգիչը:

      XPrinter Label Printer-ի կարգավորում Linux-ում VMware Workstation-ում
      Բաժակների կարգավորումներում մուտքագրեք lpd://192.168.1.52/Xprinter_XP-460B, որտեղ 192.168.1.52-ը համակարգչի IP-ն է, որի վրա տեղադրված է տպիչը, Xprinter_XP-460B-ն տպիչի անունն է Windows-ի համօգտագործման կարգավորումներում:

      XPrinter Label Printer-ի կարգավորում Linux-ում VMware Workstation-ում
      Ընտրեք վարորդ 4BARCODE => 4B-3064TA

      XPrinter Label Printer-ի կարգավորում Linux-ում VMware Workstation-ում
      Մենք ոչինչ չենք ընտրում պարամետրերում և չենք պահպանում: Ես փորձեցի հարմարեցնել պիտակի չափը, բայց հետո տպիչը ինչ-ինչ պատճառներով չի աշխատում: Պիտակի չափը կարող է սահմանվել տպման աշխատանքում:

      XPrinter Label Printer-ի կարգավորում Linux-ում VMware Workstation-ում
      Փորձնական էջ տպել՝ ավարտված է:

    2. Երկրորդ տարբերակ. Դուք պետք է տեղադրեք սամբա, սկսեք, վերագործարկեք բաժակները, այնուհետև բաժակներում կհայտնվի միացման նոր կետ, կարգավորումներում մուտքագրեք smb://user նման տող.[էլեկտրոնային փոստով պաշտպանված]/Xprinter_XP-460B. Այնտեղ, որտեղ օգտատերը Windows-ի օգտատեր է, օգտատերը պետք է ունենա գաղտնաբառ, թույլտվությունը դատարկի հետ չի անցնում:

Երբ ամեն ինչ ստացվեց, և տպիչը տպեց փորձնական էջ, աշխատանքները կարող են ուղարկվել վահանակի միջոցով.

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

Այս օրինակում պիտակն ունի 100x100 մմ չափսեր, 2 մմ ընտրված են փորձարարական եղանակով: Պիտակների միջև հեռավորությունը 3 մմ է, բայց եթե բարձրությունը սահմանեք 103 մմ, ժապավենը տեղաշարժվում է, անհարմար է պոկել պիտակը: LPD արձանագրության թերությունն այն է, որ աշխատանքները ուղարկվում են որպես սովորական տպիչ, ESC / P0S ձևաչափը չի ուղարկվում տպագրության, սենսորը չի չափում պիտակները:

Այնուհետեւ դուք կարող եք աշխատել տպիչի հետ php-ի միջոցով: Գավաթների հետ աշխատելու գրադարաններ կան, ինձ համար ավելի հեշտ է հրաման ուղարկել կոնսոլին exec();

Քանի որ ESC/P0S-ը չի աշխատում, ես որոշեցի ձևանմուշներ պատրաստել pdf-ով 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');

XPrinter Label Printer-ի կարգավորում Linux-ում VMware Workstation-ում
Պատրաստ. 2 օր հանգստի եմ սպանել, որ սարքեմ, հուսով եմ, որ ինչ-որ մեկին օգտակար կլինի։

Source: www.habr.com

Добавить комментарий