Thiết lập máy in nhãn XPrinter trên Linux trong VMware Workstation

Một ví dụ về thiết lập trên CentOS mà không cần giao diện đồ họa; tương tự, bạn có thể thiết lập trên bất kỳ hệ điều hành Linux nào.

Tôi đang giải quyết một vấn đề cụ thể: Tôi cần in nhãn có văn bản tùy ý bằng mẫu từ PHP. Vì bạn không thể tin tưởng vào kết nối Internet ổn định tại sự kiện và hầu hết các tác vụ tự động hóa đều trùng lặp với trang web nên chúng tôi đã quyết định làm việc với máy ảo trên VMware.

XPrinter cũng thích hợp để đánh dấu các tác vụ, cài đặt trong Windows dễ dàng hơn nhiều. Tôi đã chọn mẫu XP-460B có chiều rộng nhãn lên tới 108 mm.

Thiết lập máy in nhãn XPrinter trên Linux trong VMware Workstation

Vì tôi hiếm khi thiết lập Linux và kết nối các thiết bị với nó nên tôi đã tìm kiếm các hướng dẫn cài đặt sẵn và nhận ra rằng cách dễ nhất để kết nối máy in là thông qua cốc. Tôi không thể kết nối máy in qua USB, không thực hiện được thao tác nào theo lời khuyên trong sách hướng dẫn, tôi chỉ làm hỏng máy ảo vài lần.

  • Tải xuống trình điều khiển từ trang web xprintertech.com của nhà sản xuất, chúng có trong một kho lưu trữ dành cho Windows, Mac và Linux

    Trình điều khiển được đăng trên trang web cho một loạt thiết bị, trong trường hợp của tôi Trình điều khiển máy in nhãn 4 inch. Hóa ra, XP-460B đã bị ngừng sản xuất; tôi đã tìm ra nó thuộc dòng nào dựa trên mẩu bánh mì của một mẫu tương tự, XP-470B.

  • Cài đặt máy in trong Windows, kích hoạt tính năng chia sẻ

    Thiết lập máy in nhãn XPrinter trên Linux trong VMware Workstation

  • Đối với Linux, kho lưu trữ chứa 1 tệp 4BARCODE. Đây là tệp “2 trong 1”, một tập lệnh bash có kho lưu trữ tar tự giải nén và sao chép trình điều khiển vào cốc. Trong trường hợp của tôi, cần có bzip2 để giải nén (đối với dòng 80 mm, sử dụng trình lưu trữ khác)
    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • Tiếp theo bạn cần mở localhost:631 trong trình duyệt, để thuận tiện, tôi thực hiện cài đặt để mở từ trình duyệt trong Windows. Chỉnh sửa /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>
    

    Thêm cổng 631 vào tường lửa (hoặc iptables):

    firewall-cmd --zone=public --add-port=631/tcp --permanent
    firewall-cmd --reload
    
  • Trong trường hợp của tôi, chúng tôi mở liên kết trong trình duyệt bằng IP của máy ảo 192.168.1.5:631/quản trị viên

    Thêm máy in (bạn cần nhập root và mật khẩu)

    Thiết lập máy in nhãn XPrinter trên Linux trong VMware Workstation

  • Có 2 tùy chọn mà tôi đã quản lý để định cấu hình, thông qua giao thức LPD và qua samba.
    1. Để kết nối qua giao thức LPD, bạn cần kích hoạt dịch vụ trong windows (Bật hoặc tắt các thành phần Windows) và khởi động lại máy tính.

      Thiết lập máy in nhãn XPrinter trên Linux trong VMware Workstation
      Trong cài đặt cốc, nhập lpd://192.168.1.52/Xprinter_XP-460B, trong đó 192.168.1.52 là IP của máy tính cài đặt máy in, Xprinter_XP-460B là tên của máy in trong cài đặt chia sẻ windows

      Thiết lập máy in nhãn XPrinter trên Linux trong VMware Workstation
      Chọn trình điều khiển 4BARCODE => 4B-3064TA

      Thiết lập máy in nhãn XPrinter trên Linux trong VMware Workstation
      Chúng tôi không chọn hoặc lưu bất cứ điều gì trong các thông số! Tôi đã thử điều chỉnh kích thước nhãn nhưng vì lý do nào đó máy in không hoạt động. Kích thước nhãn có thể được chỉ định trong lệnh in.

      Thiết lập máy in nhãn XPrinter trên Linux trong VMware Workstation
      Chúng tôi thử in một trang thử nghiệm - xong!

    2. Sự lựa chọn thứ hai. Bạn cần cài đặt samba, khởi động, khởi động lại cốc, sau đó một điểm kết nối mới sẽ xuất hiện trong cốc, trong cài đặt hãy nhập một dòng như smb://user:[email được bảo vệ]/Xprinter_XP-460B. Trong đó, người dùng là người dùng trong Windows, người dùng phải đặt mật khẩu, ủy quyền không hoạt động với mật khẩu trống.

Khi mọi thứ đã ổn và máy in đã in một trang thử nghiệm, công việc có thể được gửi qua bảng điều khiển:

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

Trong ví dụ này, nhãn có kích thước 100x100 mm, 2 mm được chọn thực nghiệm. Khoảng cách giữa các nhãn là 3 mm, nhưng nếu bạn đặt chiều cao là 103 mm, băng sẽ dịch chuyển, khiến việc xé nhãn trở nên bất tiện. Nhược điểm của giao thức LPD là các lệnh in được gửi đến máy in thông thường, định dạng ESC/P0S không được gửi để in và cảm biến không hiệu chỉnh nhãn.

Sau đó, bạn có thể làm việc với máy in thông qua php. Có các thư viện để làm việc với cốc, tôi dễ dàng gửi lệnh đến bảng điều khiển hơn thông qua exec();

Vì ESC/P0S không hoạt động nên tôi quyết định tạo mẫu ở dạng pdf bằng thư viện 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');

Thiết lập máy in nhãn XPrinter trên Linux trong VMware Workstation
Sẵn sàng. Tôi đã dành 2 ngày cuối tuần để thiết lập nó, tôi hy vọng điều này sẽ hữu ích cho ai đó.

Nguồn: www.habr.com

Thêm một lời nhận xét