VMware Workstation-da Linux-da XPrinter Label Printerinin konfiqurasiyası

CentOS-da qrafik qabıq olmadan quraşdırmaq üçün bir nümunə; bənzətmə ilə onu istənilən Linux ƏS-də qura bilərsiniz.

Mən konkret problemi həll edirəm, php-dən şablona uyğun olaraq ixtiyari mətnli etiketləri çap etməliyəm. Tədbir sabit İnternetə etibar edə bilmədiyi üçün və avtomatlaşdırma tapşırıqlarının əksəriyyəti vebsaytla üst-üstə düşdüyü üçün biz VMware-də virtual maşınla işləmək qərarına gəldik.

XPrinter tapşırıqları qeyd etmək üçün də uyğundur, pəncərələr altında quraşdırmaq daha asandır. Etiket eni 460 mm-ə qədər olan XP-108B modelinə yerləşdim.

VMware Workstation-da Linux-da XPrinter Label Printerinin konfiqurasiyası

Linux-u nadir hallarda qurduğum və ona cihazları bağladığım üçün hazır quraşdırma təlimatları axtarırdım, anladım ki, printeri birləşdirməyin ən asan yolu stəkanlardan keçir. Mən printeri USB vasitəsilə bağlaya bilmədim, təlimatlardakı məsləhətlər üzrə heç bir manipulyasiya kömək etmədi, sadəcə virtual maşını bir neçə dəfə sındırdım.

  • Sürücüləri istehsalçının xprintertech.com saytından yükləyirik, onlar Windows, Mac və Linux üçün bir arxivdə gəlir.

    Sürücülər mənim vəziyyətimdə bir sıra cihazlar üçün saytda yerləşdirilib 4 düym etiket printer sürücüləri. Məlum oldu ki, XP-460B artıq dayandırılıb, oxşar XP-470B modelinin çörək qırıntılarına əsaslanaraq onun hansı seriyaya aid olduğunu anladım.

  • Printeri Windows-da quraşdırın, paylaşımı aktiv edin

    VMware Workstation-da Linux-da XPrinter Label Printerinin konfiqurasiyası

  • Linux üçün arxivdə 1 fayl 4BARCODE var. Bu, 2-də 1 fayldır, özünü açan və sürücüləri kuboklara köçürən tar arxivi olan bir bash skriptidir. Mənim vəziyyətimdə, bzip2 qablaşdırmadan çıxarmaq üçün lazımdır (80 mm seriyası üçün fərqli bir arxivator istifadə olunur)
    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • Sonra açmalısınız localhostBrauzerdə :631, rahatlıq üçün pəncərələrdə brauzerdən açılan parametrləri düzəldirəm. /etc/cups/cupsd.conf-u redaktə edin:
    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>
    

    Firewall-a (və ya iptables) port 631 əlavə edin:

    firewall-cmd --zone=public --add-port=631/tcp --permanent
    firewall-cmd --reload
    
  • Brauzerdə linki virtual maşının IP-si ilə açırıq, mənim vəziyyətimdə 192.168.1.5:631/admin

    Printer əlavə edin (kök və parol daxil etməlisiniz)

    VMware Workstation-da Linux-da XPrinter Label Printerinin konfiqurasiyası

  • LPD protokolu və samba vasitəsilə konfiqurasiya edə bildiyim 2 seçim var.
    1. LPD protokolu ilə qoşulmaq üçün Windows-da xidməti aktivləşdirməlisiniz (Windows xüsusiyyətlərini yandırın və ya söndürün), kompüteri yenidən başladın.

      VMware Workstation-da Linux-da XPrinter Label Printerinin konfiqurasiyası
      Kuboklar parametrlərində lpd://192.168.1.52/Xprinter_XP-460B daxil edin, burada 192.168.1.52 printerin quraşdırıldığı kompüterin IP-sidir, Xprinter_XP-460B isə Windows paylaşım parametrlərində printerin adıdır.

      VMware Workstation-da Linux-da XPrinter Label Printerinin konfiqurasiyası
      Sürücü seçin 4BARCODE => 4B-3064TA

      VMware Workstation-da Linux-da XPrinter Label Printerinin konfiqurasiyası
      Parametrlərdə heç nə seçmirik və saxlamırıq! Mən etiket ölçüsünü tənzimləməyə çalışdım, lakin sonra printer nədənsə işləmir. Etiket ölçüsü çap işində təyin edilə bilər.

      VMware Workstation-da Linux-da XPrinter Label Printerinin konfiqurasiyası
      Test səhifəsini çap etməyə çalışırsınız - tamamlandı!

    2. İkinci variant. Siz samba quraşdırmalı, stəkanları işə salmalı, yenidən başladın, sonra fincanlarda yeni bir əlaqə nöqtəsi görünəcək, parametrlərdə smb: // user kimi bir xətt daxil edin:[e-poçt qorunur]/Xprinter_XP-460B. İstifadəçi Windows-da istifadəçidirsə, istifadəçinin parolu olmalıdır, avtorizasiya boş parolla keçmir.

Hər şey düzəldikdə və printer sınaq səhifəsini çap etdikdə, işlər konsol vasitəsilə göndərilə bilər:

lpr -P Xprinter_XP-460B -o media=Custom.100x102mm test.txt

Bu nümunədə etiket 100x100 mm ölçülərə malikdir, 2 mm eksperimental olaraq seçilir. Etiketlər arasındakı məsafə 3 mm-dir, lakin hündürlüyü 103 mm-ə təyin etsəniz, lent sürüşür, etiketi qoparmaq əlverişsizdir. LPD protokolunun dezavantajı işlərin adi printerə göndərilməsi, ESC / P0S formatının çap üçün göndərilməməsi, sensorun etiketləri kalibrləməməsidir.

Sonra php vasitəsilə printerlə işləyə bilərsiniz. Kuboklarla işləmək üçün kitabxanalar var, exec() vasitəsilə konsola komanda göndərmək mənim üçün daha asandır;

ESC/P0S işləmədiyi üçün tFPDF kitabxanası vasitəsilə pdf formatında şablonlar hazırlamağa qərar verdim.

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-da Linux-da XPrinter Label Printerinin konfiqurasiyası
Hazır. Qurmaq üçün 2 gün istirahət öldürdüm, inşallah kiməsə faydası olar.

Mənbə: www.habr.com

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