Настройка друкаркі этыкетак XPrinter на Linux у VMware Workstation
Прыклад для наладкі ў CentOS без графічнай абалонкі, па аналогіі можна наладзіць на любой АС Linux.
Вырашаю спецыфічную задачу, з php трэба друкаваць этыкеткі з адвольным тэкстам па шаблоне. Паколькі на мерапрыемстве нельга разлічваць на стабільны інтэрнэт, а большая частка задач па аўтаматызацыі перасякаецца з вэб-сайтам, прынялі рашэнне працаваць з віртуальнай машынай на VMware.
XPrinter падыдуць і для задач маркіроўкі, пад windows усталёўваюцца значна прасцей. Спыніўся на мадэлі XP-460B з шырынёй этыкеткі да 108 мм.
Паколькі наладай Linux і падлучэннем прылад да яго займаюся вельмі рэдка, шукаў гатовыя мануалы па наладзе, зразумеў што самы просты спосаб падлучыць друкарку праз cups. У мяне не атрымалася падлучыць друкарку па USB, не дапамаглі ніякія маніпуляцыі па парадах у мануалах, толькі зламаў віртуальную машыну некалькі разоў.
Спампоўваем драйвера з сайта вытворцы xprintertech.com, яны ідуць адным архівам для Windows, Mac і Linux
Драйвера размешчаны на сайце для серыі прылад, у маім выпадку 4 inch Label Printer Drivers. Як апынулася, XP-460B ужо зняты з вытворчасці, зразумеў да якой серыі ён ставіцца па хлебным крошкам падобнай мадэлі XP-470B.
Усталёўваны друкарка ў windows, уключаем агульны доступ
Для Linux у архіве 1 файл 4BARCODE. Гэта "2 у 1" файл, bash сцэнар з tar архівам, які сам сябе распакоўвае і капіюе драйвера ў cups. У маім выпадку для распакавання патрэбен 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>
Адкрываем спасылку ў браўзэры па IP віртуальнай машыны, у маім выпадку 192.168.1.5:631/admin
Дадаем прынтэр (трэба ўвесці root і пароль)
Ёсць 2 варыянты, якія мне ўдалося наладзіць, па пратаколе LPD і праз samba.
Для падлучэння па пратаколе LPD, трэба ўключыць службу ў windows (Уключэнне ці адключэнне кампанентаў Windows), перазагрузіць кампутар.
У наладах cups уводзім 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:[электронная пошта абаронена]/Xprinter_XP-460B. Дзе, user - карыстач у windows, у карыстача абавязкова павінен быць зададзены пароль, з пустым аўтарызацыя не праходзіць.
Калі ўсё атрымалася і прынтэр раздрукаваў выпрабавальную старонку, заданні можна адпраўляць праз кансоль:
У дадзеным прыкладзе этыкетка мае памеры 100х100 мм, 2 мм падабраны эксперыментальна. Адлегласць паміж этыкеткамі 3 мм, але калі выставіць вышыню 103 мм, адбываецца зрух стужкі, няёмка адрываць этыкетку. Недахоп пратаколу LPD - заданні адпраўляюцца як на звычайную друкарку, фармат ESC/P0S не адпраўляецца на друк, сэнсар не калібруе этыкеткі.
Далей можна працаваць з друкаркай праз php. Ёсць бібліятэкі для працы з cups, мне прасцей адправіць каманду ў кансоль праз exec();
Паколькі ESC/P0S не працуе, я вырашыў зрабіць шаблоны ў pdf праз бібліятэку tFPDF