راه اندازی چاپگر برچسب XPrinter در لینوکس در ایستگاه کاری VMware

نمونه ای برای راه اندازی بر روی CentOS بدون پوسته گرافیکی؛ بر اساس قیاس، می توانید روی هر سیستم عامل لینوکس راه اندازی کنید.

من یک مشکل خاص را حل می کنم: من باید برچسب هایی را با متن دلخواه با استفاده از یک الگو از PHP چاپ کنم. از آنجایی که در رویداد نمی‌توانید روی یک اتصال اینترنتی پایدار حساب کنید و بیشتر کارهای اتوماسیون با وب‌سایت همپوشانی دارند، تصمیم گرفتیم با یک ماشین مجازی در VMware کار کنیم.

XPrinter همچنین برای علامت گذاری وظایف مناسب است؛ نصب در ویندوز بسیار آسان تر است. من روی مدل XP-460B با عرض برچسب تا 108 میلی متر مستقر شدم.

راه اندازی چاپگر برچسب XPrinter در لینوکس در ایستگاه کاری VMware

از آنجایی که من به ندرت لینوکس را راه‌اندازی می‌کنم و دستگاه‌ها را به آن وصل می‌کنم، به دنبال دستورالعمل‌های آماده راه‌اندازی گشتم و متوجه شدم که ساده‌ترین راه برای اتصال چاپگر از طریق فنجان است. من نتوانستم چاپگر را از طریق USB وصل کنم، هیچ دستکاری پیروی از توصیه های موجود در دفترچه راهنما کمکی نکرد، فقط چندین بار ماشین مجازی را خراب کردم.

  • درایورها را از وب سایت سازنده xprintertech.com دانلود کنید، آنها در یک آرشیو برای ویندوز، مک و لینوکس آمده اند.

    درایورها برای یک سری دستگاه در وب سایت قرار داده شده است، در مورد من درایورهای چاپگر لیبل 4 اینچی. همانطور که مشخص است، XP-460B قبلاً متوقف شده است؛ من بر اساس خرده نان های یک مدل مشابه، XP-470B، متوجه شدم که متعلق به کدام سری است.

  • چاپگر را در ویندوز نصب کنید، اشتراک گذاری را فعال کنید

    راه اندازی چاپگر برچسب XPrinter در لینوکس در ایستگاه کاری VMware

  • برای لینوکس، آرشیو شامل 1 فایل 4BARCODE است. این یک فایل "2 در 1" است، یک اسکریپت bash با آرشیو tar که بسته بندی خود را باز می کند و درایورها را در فنجان کپی می کند. در مورد من، bzip2 برای باز کردن بسته بندی مورد نیاز است (برای سری 80 میلی متری از بایگانی متفاوت استفاده می شود)
    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • بعد باید باز کنید localhost را:631 در مرورگر، برای راحتی، تنظیماتی را برای باز کردن از مرورگر در ویندوز انجام می دهم. ویرایش /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

    اضافه کردن یک چاپگر (شما باید root و رمز عبور را وارد کنید)

    راه اندازی چاپگر برچسب XPrinter در لینوکس در ایستگاه کاری VMware

  • 2 گزینه وجود دارد که من موفق به پیکربندی آنها شدم، از طریق پروتکل LPD و از طریق samba.
    1. برای اتصال از طریق پروتکل LPD، باید سرویس را در ویندوز فعال کنید (کامپوننت های ویندوز را روشن یا خاموش کنید) و کامپیوتر را مجددا راه اندازی کنید.

      راه اندازی چاپگر برچسب XPrinter در لینوکس در ایستگاه کاری VMware
      در تنظیمات فنجان، lpd://192.168.1.52/Xprinter_XP-460B را وارد کنید، جایی که 192.168.1.52 IP رایانه ای است که چاپگر روی آن نصب شده است، Xprinter_XP-460B نام چاپگر در تنظیمات اشتراک گذاری ویندوز است.

      راه اندازی چاپگر برچسب XPrinter در لینوکس در ایستگاه کاری VMware
      درایور 4BARCODE => 4B-3064TA را انتخاب کنید

      راه اندازی چاپگر برچسب XPrinter در لینوکس در ایستگاه کاری VMware
      ما چیزی را در پارامترها انتخاب یا ذخیره نمی کنیم! من سعی کردم اندازه برچسب را تنظیم کنم، اما پس از آن چاپگر به دلایلی کار نمی کند. اندازه برچسب را می توان در کار چاپ مشخص کرد.

      راه اندازی چاپگر برچسب XPrinter در لینوکس در ایستگاه کاری VMware
      ما سعی می کنیم یک صفحه آزمایشی چاپ کنیم - تمام شد!

    2. گزینه دوم. شما باید samba را نصب کنید، شروع کنید، کاپ ها را مجددا راه اندازی کنید، سپس یک نقطه اتصال جدید در فنجان ظاهر می شود، در تنظیمات یک خط مانند smb://user وارد کنید:[ایمیل محافظت شده]/Xprinter_XP-460B. در جایی که کاربر در ویندوز کاربر است، کاربر باید رمز عبور داشته باشد، مجوز با یک رمز خالی کار نمی کند.

وقتی همه چیز درست شد و چاپگر یک صفحه آزمایشی را چاپ کرد، کارها می توانند از طریق کنسول ارسال شوند:

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');

راه اندازی چاپگر برچسب XPrinter در لینوکس در ایستگاه کاری VMware
آماده. من 2 آخر هفته را صرف تنظیم آن کردم، امیدوارم برای کسی مفید باشد.

منبع: www.habr.com

اضافه کردن نظر