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

CentOS-ում գրաֆիկական shell-ի բացակայության դեպքում տեղադրման օրինակ, անալոգիայի համաձայն՝ այն կարող է տեղադրվել ցանկացած Linux օպերացիոն համակարգի վրա։

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

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

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

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

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

    Դրայվերները կայքում տեղադրված են մի շարք սարքերի համար, իմ դեպքում 4 դյույմանոց պիտակների տպիչի դրայվերներԻնչպես պարզվեց, XP-460B-ն արդեն դուրս է արտադրությունից, ես հասկացա, թե որ շարքին է պատկանում XP-470B նմանատիպ մոդելի հացի փշրանքներից։

  • Տպիչի տեղադրում Windows-ում, համատեղ մուտքի հնարավորություն

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

  • Linux-ի համար արխիվում կա 1 ֆայլ՝ 4BARCODE: Սա «2-ը 1-ում» ֆայլ է, bash սկրիպտ՝ tar արխիվով, որը բացում է ինքն իրեն և պատճենում դրայվերները գավաթների վրա: Իմ դեպքում, բացման համար անհրաժեշտ է bzip2 (80 մմ շարքի համար օգտագործվում է այլ արխիվացնող):
    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • Հաջորդը դուք պետք է բացեք localhost:631 բրաուզերում, հարմարության համար ես կարգավորում եմ Windows-ում բրաուզերից բացելու համար։ Խմբագրել /etc/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 արձանագրության միջոցով և samba-ի միջոցով։
    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. Երկրորդ տարբերակը։ Դուք պետք է տեղադրեք Samba-ն, աշխատեցնեք այն, վերագործարկեք Cups-ը, այնուհետև Cups-ում կհայտնվի նոր միացման կետ, կարգավորումներում մուտքագրեք smb://user:password@192.168.1.52/Xprinter_XP-460B նման տող։ Որտեղ user-ը 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-ում
Կատարված է։ Ես երկու շաբաթավերջ անցկացրի այն կարգավորելով, հուսով եմ՝ սա ինչ-որ մեկին օգտակար կլինի։

Source: www.habr.com

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