CentOS жүйесінде графикалық қабықсыз орнатудың мысалы; ұқсастық бойынша кез келген Linux ОЖ-де орнатуға болады.
Мен белгілі бір мәселені шешіп жатырмын: PHP үлгісін пайдаланып, еркін мәтіні бар белгілерді басып шығару керек. Іс-шарада тұрақты интернет қосылымына сене алмайтындықтан және автоматтандыру тапсырмаларының көпшілігі веб-сайтпен сәйкес келетіндіктен, біз VMware жүйесінде виртуалды машинамен жұмыс істеуді шештік.
XPrinter тапсырмаларды белгілеу үшін де қолайлы, Windows жүйесінде орнату әлдеқайда оңай. Мен ені 460 мм-ге дейінгі жапсырмасы бар XP-108B үлгісіне орналастым.

Мен Linux жүйесін сирек орнатып, оған құрылғыларды қосатындықтан, мен дайын орнату нұсқауларын іздедім және принтерді қосудың ең оңай жолы шыныаяқтар арқылы екенін түсіндім. Мен принтерді USB арқылы қоса алмадым, нұсқаулықтардағы кеңестерге сәйкес ешқандай манипуляция көмектеспеді, мен виртуалды машинаны бірнеше рет бұздым.
- Драйверлерді өндірушінің xprintertech.com веб-сайтынан жүктеп алыңыз, олар Windows, Mac және Linux үшін бір мұрағатта келеді.
Менің жағдайымда драйверлер бірқатар құрылғылар үшін веб-сайтта орналастырылған 4 дюймдік жапсырма принтер драйверлері. Белгілі болғандай, XP-460B қазірдің өзінде тоқтатылды, мен оның қай серияға жататынын ұқсас үлгідегі XP-470B нан үгінділеріне сүйене отырып анықтадым.
- Принтерді Windows жүйесіне орнатыңыз, ортақ пайдалануды қосыңыз

- Linux үшін мұрағатта 1 файл 4BARCODE бар. Бұл «2-де 1» файлы, өзін ашатын және драйверлерді шыныаяқтарға көшіретін tar мұрағаты бар bash сценарийі. Менің жағдайда, bzip2 орауыштан шығару үшін қажет (80 мм сериясы үшін басқа архиватор пайдаланылады)
yum install cups yum install bzip2 chmod 744 ./4BARCODE sh ./4BARCODE service cups start - Әрі қарай ашу керек :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>Брандмауэрге (немесе iptables) 631 портын қосыңыз:
firewall-cmd --zone=public --add-port=631/tcp --permanent firewall-cmd --reload - Біз браузерде виртуалды машинаның IP мекенжайын пайдаланып сілтемені ашамыз, менің жағдайда :631/admin
Принтерді қосу (түбір мен құпия сөзді енгізу керек)

- Мен LPD протоколы арқылы және samba арқылы конфигурациялай алған 2 опция бар.
- 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 сияқты жолды енгізіңіз. Мұндағы "пайдаланушы" - 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 жұмыс істемейтіндіктен, мен tFPDF кітапханасын пайдаланып pdf форматында үлгілер жасауды шештім.
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');

Дайын. Мен оны орнату үшін 2 демалыс күнін өткіздім, бұл біреуге пайдалы болады деп үміттенемін.
Ақпарат көзі: www.habr.com






