إعداد طابعة ملصقات XPrinter على Linux في VMware Workstation

مثال للإعداد على CentOS بدون غلاف رسومي؛ وبالقياس، يمكنك الإعداد على أي نظام تشغيل Linux.

أقوم بحل مشكلة محددة: أحتاج إلى طباعة ملصقات بنص عشوائي باستخدام قالب من PHP. نظرًا لأنه لا يمكنك الاعتماد على اتصال إنترنت مستقر في الحدث، وتداخل معظم مهام الأتمتة مع موقع الويب، فقد قررنا العمل مع جهاز افتراضي على برنامج VMware.

يعد برنامج XPrinter مناسبًا أيضًا لوضع علامات على المهام، كما أن التثبيت على نظام التشغيل Windows أسهل بكثير. لقد استقرت على طراز XP-460B بعرض ملصق يصل إلى 108 ملم.

إعداد طابعة ملصقات XPrinter على Linux في VMware Workstation

نظرًا لأنني نادرًا ما أقوم بإعداد Linux وتوصيل الأجهزة به، فقد بحثت عن أدلة الإعداد الجاهزة وأدركت أن أسهل طريقة لتوصيل الطابعة هي من خلال الكؤوس. لم أتمكن من توصيل الطابعة عبر USB، ولم تساعدني أي تلاعبات باتباع النصائح الواردة في الأدلة، لقد تعطلت الآلة الافتراضية عدة مرات.

  • قم بتنزيل برامج التشغيل من موقع الشركة المصنعة xprintertech.com، وهي تأتي في أرشيف واحد لأنظمة التشغيل Windows وMac وLinux

    يتم نشر برامج التشغيل على الموقع الإلكتروني لسلسلة من الأجهزة، في حالتي برامج تشغيل طابعة الملصقات مقاس 4 بوصة. كما اتضح، فقد تم بالفعل إيقاف إنتاج الطراز XP-460B؛ وقد اكتشفت السلسلة التي ينتمي إليها استنادًا إلى فتات الخبز لنموذج مماثل، XP-470B.

  • قم بتثبيت الطابعة في نظام التشغيل Windows، وتمكين المشاركة

    إعداد طابعة ملصقات XPrinter على Linux في VMware Workstation

  • بالنسبة لنظام Linux، يحتوي الأرشيف على ملف واحد 1BARCODE. هذا ملف "4 في 2"، وهو برنامج نصي bash يحتوي على أرشيف tar يقوم بتفكيك نفسه ونسخ برامج التشغيل إلى cup. في حالتي، هناك حاجة إلى bzip1 للتفريغ (بالنسبة لسلسلة 2 مم، يتم استخدام أرشيف مختلف)
    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>
    

    أضف المنفذ 631 إلى جدار الحماية (أو iptables):

    firewall-cmd --zone=public --add-port=631/tcp --permanent
    firewall-cmd --reload
    
  • نفتح الرابط في المتصفح باستخدام عنوان IP الخاص بالجهاز الظاهري، في حالتي 192.168.1.5:631/مشرف

    إضافة طابعة (تحتاج إلى إدخال الجذر وكلمة المرور)

    إعداد طابعة ملصقات XPrinter على Linux في VMware Workstation

  • هناك خياران تمكنت من تكوينهما، عبر بروتوكول LPD وعبر السامبا.
    1. للاتصال عبر بروتوكول LPD، تحتاج إلى تمكين الخدمة في Windows (تشغيل مكونات Windows أو إيقاف تشغيلها) وإعادة تشغيل الكمبيوتر.

      إعداد طابعة ملصقات XPrinter على Linux في VMware Workstation
      في إعدادات الأكواب، أدخل lpd://192.168.1.52/Xprinter_XP-460B، حيث 192.168.1.52 هو IP الخاص بالكمبيوتر الذي تم تثبيت الطابعة عليه، وXprinter_XP-460B هو اسم الطابعة في إعدادات مشاركة Windows

      إعداد طابعة ملصقات XPrinter على Linux في VMware Workstation
      حدد برنامج التشغيل 4BARCODE => 4B-3064TA

      إعداد طابعة ملصقات XPrinter على Linux في VMware Workstation
      نحن لا نختار أو نحفظ أي شيء في المعلمات! لقد حاولت ضبط حجم الملصق، لكن الطابعة لا تعمل لسبب ما. يمكن تحديد حجم الملصق في مهمة الطباعة.

      إعداد طابعة ملصقات XPrinter على Linux في VMware Workstation
      نحن نحاول طباعة صفحة اختبار - تم ذلك!

    2. الخيار الثاني. تحتاج إلى تثبيت السامبا، البدء، إعادة تشغيل الكؤوس، ثم ستظهر نقطة اتصال جديدة في الكؤوس، في الإعدادات، أدخل سطرًا مثل smb://user:[البريد الإلكتروني محمي]/Xprinter_XP-460B. عندما يكون المستخدم مستخدمًا في Windows، يجب أن يكون لدى المستخدم كلمة مرور محددة، ولا يعمل التفويض مع كلمة مرور فارغة.

عندما ينجح كل شيء وتطبع الطابعة صفحة اختبار، يمكن إرسال المهام عبر وحدة التحكم:

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

في هذا المثال، الملصق له أبعاد 100×100 مم، وقد تم اختيار 2 مم تجريبيًا. تبلغ المسافة بين الملصقات 3 مم، ولكن إذا قمت بضبط الارتفاع على 103 مم، فإن الشريط يتغير، مما يجعل من غير المناسب تمزيق الملصق. عيب بروتوكول LPD هو أنه يتم إرسال المهام إلى طابعة عادية، ولا يتم إرسال تنسيق ESC/P0S للطباعة، ولا يقوم المستشعر بمعايرة الملصقات.

ثم يمكنك العمل مع الطابعة عبر PHP. هناك مكتبات للعمل مع الكؤوس، من الأسهل بالنسبة لي إرسال أمر إلى وحدة التحكم عبر exec()؛

نظرًا لأن ESC/P0S لا يعمل، فقد قررت إنشاء قوالب بتنسيق pdf باستخدام مكتبة 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');

إعداد طابعة ملصقات XPrinter على Linux في VMware Workstation
مستعد. لقد أمضيت عطلتي نهاية الأسبوع في إعداده، وآمل أن يكون هذا مفيدًا لشخص ما.

المصدر: www.habr.com

إضافة تعليق