VMware Workstation ичинде Linux боюнча XPrinter этикетка принтерин орнотуу

CentOSда графикалык кабыксыз орнотуунун мисалы; окшоштук боюнча, сиз каалаган Linux OSде орното аласыз.

Мен белгилүү бир маселени чечип жатам: PHP үлгүсүн колдонуп, каалаган текст менен энбелгилерди басып чыгаруу керек. Иш-чарада туруктуу интернет байланышына ишене албагандыктан жана автоматташтыруу тапшырмаларынын көбү веб-сайтка дал келгендиктен, биз VMwareдеги виртуалдык машина менен иштөөнү чечтик.

XPrinter тапшырмаларды белгилөө үчүн да ылайыктуу; Windows астында орнотуу алда канча жеңил. Мен 460 мм чейин энбелгиси менен XP-108B моделине отурукташкан.

VMware Workstation ичинде Linux боюнча XPrinter этикетка принтерин орнотуу

Мен Linux'ту сейрек орнотуп, ага түзмөктөрдү туташтыргандыктан, орнотуу боюнча даяр нускамаларды издеп, принтерди туташтыруунун эң оңой жолу чөйчөктөр аркылуу экенин түшүндүм. Мен принтерди USB аркылуу туташтыра алган жокмун, колдонмолордогу кеңештерге ылайык эч кандай манипуляция жардам берген жок, мен виртуалдык машинаны бир нече жолу кыйраттым.

  • Xprintertech.com өндүрүүчүнүн веб-сайтынан драйверлерди жүктөп алыңыз, алар Windows, Mac жана Linux үчүн бир архивде келет

    Айдоочулар менин учурда, бир катар түзмөктөр үчүн веб-сайтта жайгаштырылат 4 дюймдук этикетканын драйверлери. Көрүнүп тургандай, XP-460B буга чейин эле токтотулган, мен анын кайсы серияга таандык экенин ушуга окшош XP-470B үлгүсүндөгү нан күкүмдөрүнүн негизинде түшүндүм.

  • Принтерди Windows'ко орнотуп, бөлүшүүнү иштетиңиз

    VMware Workstation ичинде Linux боюнча XPrinter этикетка принтерин орнотуу

  • Linux үчүн архивде 1 файл 4BARCODE бар. Бул "2 in 1" файлы, өзүн өзү ачып, драйверлерди чөйчөккө көчүргөн tar архиви бар bash скрипти. Менин учурда, bzip2 таңгактан чыгаруу үчүн керек (80 мм сериясы үчүн башка архиватор колдонулат)
    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • Кийинки сиз ачуу керек көрүү .xrf: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 портун брандмауэрге (же iptables) кошуңуз:

    firewall-cmd --zone=public --add-port=631/tcp --permanent
    firewall-cmd --reload
    
  • Виртуалдык машинанын IP дарегин колдонуп браузерде шилтемени ачабыз, менин учурда 192.168.1.5:631/admin

    Принтерди кошуу (сиз тамыр жана сырсөздү киргизишиңиз керек)

    VMware Workstation ичинде Linux боюнча XPrinter этикетка принтерин орнотуу

  • Мен конфигурациялаган 2 вариант бар, LPD протоколу жана samba аркылуу.
    1. LPD протоколу аркылуу туташуу үчүн, кызматты терезелерде иштетишиңиз керек (Windows компоненттерин күйгүзүү же өчүрүү) жана компьютерди өчүрүп күйгүзүү.

      VMware Workstation ичинде Linux боюнча XPrinter этикетка принтерин орнотуу
      Чөйчөктөрдүн жөндөөлөрүнө lpd://192.168.1.52/Xprinter_XP-460B киргизиңиз, мында 192.168.1.52 - принтер орнотулган компьютердин IP-си, Xprinter_XP-460B - Windows бөлүшүү орнотууларындагы принтердин аты

      VMware Workstation ичинде Linux боюнча XPrinter этикетка принтерин орнотуу
      4BARCODE => 4B-3064TA драйверин тандаңыз

      VMware Workstation ичинде Linux боюнча XPrinter этикетка принтерин орнотуу
      Параметрлерде эч нерсе тандабайбыз же сактабайбыз! Мен этикетканын өлчөмүн тууралоого аракет кылдым, бирок принтер кандайдыр бир себептерден улам иштебей калды. Энбелги өлчөмү басып чыгаруу ишинде көрсөтүлүшү мүмкүн.

      VMware Workstation ичинде Linux боюнча XPrinter этикетка принтерин орнотуу
      Биз сыноо барагын басып чыгарууга аракет кылабыз - бүттү!

    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 иштебегендиктен, мен 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');

VMware Workstation ичинде Linux боюнча XPrinter этикетка принтерин орнотуу
Даяр. Мен аны орнотуу үчүн 2 дем алыш күндөрү өткөрдүм, бул кимдир бирөө үчүн пайдалуу болот деп үмүттөнөм.

Source: www.habr.com

Комментарий кошуу