مثال للتكوين على CentOS بدون غلاف رسومي ؛ عن طريق القياس ، يمكنك تكوينه على أي نظام تشغيل Linux.أقوم بحل مشكلة معينة ، من php تحتاج إلى طباعة ملصقات بنص عشوائي وفقًا للنموذج. نظرًا لأنه من المستحيل الاعتماد على إنترنت ثابت في الحدث ، ومعظم مهام الأتمتة تتقاطع مع موقع الويب ، فقد قررنا العمل مع الجهاز الظاهري على VMware.XPrinter مناسب أيضًا لوضع علامات على المهام ؛ التثبيت تحت النوافذ أسهل بكثير. توقف على طراز XP-460B بعرض يصل إلى 108 ملم.نظرًا لأنني نادرًا ما أتعامل مع إعداد Linux وتوصيل الأجهزة به ، كنت أبحث عن أدلة التكوين الجاهزة ، أدركت أن أسهل طريقة لتوصيل الطابعة من خلال الأكواب. لم أتمكن من توصيل الطابعة عبر USB ، ولم تساعد أي تلاعبات على النصائح في الكتيبات ، لقد كسرت الجهاز الظاهري عدة مرات.- قم بتنزيل برامج التشغيل من موقع الشركة المصنعة xprintertech.com ، وهي تأتي في أرشيف واحد لنظام التشغيل Windows و Mac و Linux. توجد
برامج التشغيل على الموقع لسلسلة من الأجهزة ، في حالتي 4 بوصة Label Printer Drivers . كما اتضح ، تم إيقاف XP-460B بالفعل ، أدركت السلسلة التي تنتمي إليها في فتات الخبز لنموذج XP-470B المماثل. - قم بتثبيت الطابعة في النوافذ ، وتمكين المشاركة
- Linux 1 4BARCODE. «2 1» , bash tar , cups. bzip2 ( 80 )
yum install cups
yum install bzip2
chmod 744 ./4BARCODE
sh ./4BARCODE
service cups start
- localhost: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 firewall ( iptables):
firewall-cmd --zone=public --add-port=631/tcp --permanent
firewall-cmd --reload
- 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:password@192.168.1.52/Xprinter_XP-460B. , user — 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 عبر مكتبة tFPDFrequire_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');
منجز. لقد قتلت يومين للإعداد ، آمل أن يكون مفيدًا لشخص ما.