CentOS-ում գրաֆիկական shell-ի բացակայության դեպքում տեղադրման օրինակ, անալոգիայի համաձայն՝ այն կարող է տեղադրվել ցանկացած Linux օպերացիոն համակարգի վրա։
Ես լուծում եմ մի կոնկրետ խնդիր, PHP-ից պետք է տպեմ պիտակներ կամայական տեքստով՝ օգտագործելով ձևանմուշ։ Քանի որ միջոցառման ժամանակ կայուն ինտերնետի վրա հույս դնել հնարավոր չէ, և ավտոմատացման առաջադրանքների մեծ մասը հատվում է կայքի հետ, մենք որոշեցինք աշխատել VMware-ի վրա վիրտուալ մեքենայի հետ։
XPrinter-ը նաև հարմար է պիտակավորման աշխատանքների համար, դրանք շատ ավելի հեշտ է տեղադրել Windows-ում: Ես կանգ առա XP-460B մոդելի վրա՝ մինչև 108 մմ պիտակի լայնությամբ:

Քանի որ ես հազվադեպ եմ տեղադրում Linux և սարքեր միացնում դրան, ես փնտրեցի այն տեղադրելու պատրաստի ձեռնարկներ և հասկացա, որ տպիչը միացնելու ամենահեշտ ձևը բաժակների միջոցով է։ Ես չկարողացա միացնել տպիչը USB-ով, ձեռնարկներում տրված խորհուրդների համաձայն ոչ մի մանիպուլյացիա չօգնեց, ես միայն մի քանի անգամ կոտրեցի վիրտուալ մեքենան։
- Ներբեռնեք դրայվերները արտադրողի կայքից՝ xprintertech.com, դրանք գալիս են մեկ արխիվում՝ Windows-ի, Mac-ի և Linux-ի համար
Դրայվերները կայքում տեղադրված են մի շարք սարքերի համար, իմ դեպքում 4 դյույմանոց պիտակների տպիչի դրայվերներԻնչպես պարզվեց, XP-460B-ն արդեն դուրս է արտադրությունից, ես հասկացա, թե որ շարքին է պատկանում XP-470B նմանատիպ մոդելի հացի փշրանքներից։
- Տպիչի տեղադրում Windows-ում, համատեղ մուտքի հնարավորություն

- Linux-ի համար արխիվում կա 1 ֆայլ՝ 4BARCODE: Սա «2-ը 1-ում» ֆայլ է, bash սկրիպտ՝ tar արխիվով, որը բացում է ինքն իրեն և պատճենում դրայվերները գավաթների վրա: Իմ դեպքում, բացման համար անհրաժեշտ է bzip2 (80 մմ շարքի համար օգտագործվում է այլ արխիվացնող):
yum install cups yum install bzip2 chmod 744 ./4BARCODE sh ./4BARCODE service cups start - Հաջորդը դուք պետք է բացեք :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 հասցեն, իմ դեպքում :631/ադմինիստրատոր
Ավելացնել տպիչ (դուք պետք է մուտքագրեք root և գաղտնաբառ)

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

Գավաթների կարգավորումներում մուտքագրեք lpd://192.168.1.52/Xprinter_XP-460B, որտեղ 192.168.1.52-ը տպիչի տեղադրված համակարգչի IP հասցեն է, իսկ Xprinter_XP-460B-ը՝ տպիչի անունը Windows-ի համօգտագործման կարգավորումներում։
Ընտրեք վարորդ 4BARCODE => 4B-3064TA
Պարամետրերում ոչինչ մի՛ ընտրեք կամ մի՛ պահպանեք։ Ես փորձեցի սահմանել պիտակի չափը, բայց հետո տպիչը ինչ-ինչ պատճառներով չի աշխատում: Պիտակի չափը կարող է սահմանվել տպագրության աշխատանքում:
Եկեք փորձենք տպել թեստային էջ՝ արված է։ - Երկրորդ տարբերակը։ Դուք պետք է տեղադրեք Samba-ն, աշխատեցնեք այն, վերագործարկեք Cups-ը, այնուհետև Cups-ում կհայտնվի նոր միացման կետ, կարգավորումներում մուտքագրեք smb://user:password@192.168.1.52/Xprinter_XP-460B նման տող։ Որտեղ user-ը Windows-ի օգտատերն է, օգտատերը պետք է ունենա գաղտնաբառ, դատարկ տողով լիազորումը չի գործում։
- LPD արձանագրության միջոցով միանալու համար անհրաժեշտ է միացնել ծառայությունը Windows-ում (Միացնել կամ անջատել 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');

Կատարված է։ Ես երկու շաբաթավերջ անցկացրի այն կարգավորելով, հուսով եմ՝ սա ինչ-որ մեկին օգտակար կլինի։
Source: www.habr.com






