VMware ورڪ اسٽيشن ۾ لينڪس تي هڪ XPrinter ليبل پرنٽر ترتيب ڏيڻ

هڪ مثال قائم ڪرڻ لاءِ CentOS بغير ڪنهن گرافڪ شيل جي؛ قياس سان، توهان ڪنهن به لينڪس او ايس تي سيٽ ڪري سگهو ٿا.

مان هڪ خاص مسئلو حل ڪري رهيو آهيان: مون کي PHP مان هڪ ٽيمپليٽ استعمال ڪندي صوابديدي متن سان ليبل پرنٽ ڪرڻ جي ضرورت آهي. جيئن ته توهان واقعي تي مستحڪم انٽرنيٽ ڪنيڪشن تي ڳڻپ نٿا ​​ڪري سگهو، ۽ اڪثر آٽوميشن جا ڪم ويب سائيٽ سان اوورليپ ٿين ٿا، اسان VMware تي هڪ ورچوئل مشين سان ڪم ڪرڻ جو فيصلو ڪيو.

XPrinter نشانن جي ڪمن لاءِ پڻ موزون آهي؛ ونڊوز جي تحت انسٽاليشن تمام آسان آهي. مون XP-460B ماڊل تي 108 ملي ميٽر جي ليبل جي چوٽي سان آباد ڪيو.

VMware ورڪ اسٽيشن ۾ لينڪس تي هڪ XPrinter ليبل پرنٽر ترتيب ڏيڻ

جيئن ته مان لينڪس کي گهٽ ۾ گهٽ سيٽ اپ ڪيو ۽ ان سان ڊوائيسز کي ڳنڍيو، مون تيار ڪيل سيٽ اپ مينوئلز کي ڳولي ورتو ۽ محسوس ڪيو ته پرنٽر کي ڳنڍڻ جو آسان طريقو کپ ذريعي آهي. مان يو ايس بي ذريعي پرنٽر کي ڳنڍي نه سگهيس، دستور ۾ ڏنل مشوري جي پٺيان ڪا به ڦيرڦار مدد نه ڪئي، مون صرف ڪيترائي ڀيرا ورچوئل مشين کي تباهه ڪيو.

  • ٺاهيندڙ جي ويب سائيٽ xprintertech.com تان ڊرائيورز ڊائون لوڊ ڪريو، اهي ونڊوز، ميڪ ۽ لينڪس لاءِ هڪ آرڪائيو ۾ ايندا آهن

    ڊرائيورز ويب سائيٽ تي پوسٽ ٿيل آهن ڊوائيسز جي هڪ سيريز لاء، منهنجي صورت ۾ 4 انچ ليبل پرنٽر ڊرائيور. جيئن ته اهو نڪتو، XP-460B اڳ ۾ ئي بند ڪيو ويو آهي؛ مون سمجهيو ته اهو ڪهڙي سيريز سان تعلق رکي ٿو ساڳئي ماڊل جي ماني جي بنياد تي، XP-470B.

  • ونڊوز ۾ پرنٽر انسٽال ڪريو، شيئرنگ کي فعال ڪريو

    VMware ورڪ اسٽيشن ۾ لينڪس تي هڪ XPrinter ليبل پرنٽر ترتيب ڏيڻ

  • لينڪس لاء، آرڪائيو 1 فائل 4BARCODE تي مشتمل آهي. هي هڪ "2 ۾ 1" فائل آهي، هڪ بش اسڪرپٽ ٽار آرڪائيو سان جيڪو پاڻ کي پيڪ ڪري ٿو ۽ ڊرائيورن کي کپن ۾ نقل ڪري ٿو. منهنجي صورت ۾، بيزپ2 کي پيڪنگ ڪرڻ جي ضرورت آهي (80 ملي ايم سيريز لاء هڪ مختلف آرڪائيو استعمال ڪيو ويندو آهي)
    yum install cups
    yum install bzip2
    chmod 744 ./4BARCODE
    sh ./4BARCODE
    service cups start
    
  • اڳيون توهان کي کولڻ جي ضرورت آهي مقامي هلو: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/ايڊمن

    هڪ پرنٽر شامل ڪريو (توهان کي روٽ ۽ پاسورڊ داخل ڪرڻ جي ضرورت آهي)

    VMware ورڪ اسٽيشن ۾ لينڪس تي هڪ XPrinter ليبل پرنٽر ترتيب ڏيڻ

  • اتي 2 اختيار آھن جيڪي مون ترتيب ڏيڻ ۾ منظم ڪيا آھن، LPD پروٽوڪول ذريعي ۽ سامبا ذريعي.
    1. LPD پروٽوڪول ذريعي ڳنڍڻ لاء، توهان کي ونڊوز ۾ خدمت کي فعال ڪرڻ جي ضرورت آهي (ونڊوز جا اجزاء آن يا بند ڪريو) ۽ ڪمپيوٽر کي ٻيهر شروع ڪريو.

      VMware ورڪ اسٽيشن ۾ لينڪس تي هڪ XPrinter ليبل پرنٽر ترتيب ڏيڻ
      کپن جي سيٽنگ ۾، lpd://192.168.1.52/Xprinter_XP-460B داخل ڪريو، جتي 192.168.1.52 ڪمپيوٽر جو IP آهي جنهن تي پرنٽر نصب ٿيل آهي، ونڊوز شيئرنگ سيٽنگن ۾ پرنٽر جو نالو Xprinter_XP-460B آهي.

      VMware ورڪ اسٽيشن ۾ لينڪس تي هڪ XPrinter ليبل پرنٽر ترتيب ڏيڻ
      ڊرائيور چونڊيو 4BARCODE => 4B-3064TA

      VMware ورڪ اسٽيشن ۾ لينڪس تي هڪ XPrinter ليبل پرنٽر ترتيب ڏيڻ
      اسان پيراميٽرز ۾ ڪجھ به نه چونڊيو يا بچايو! مون ليبل جي سائيز کي ترتيب ڏيڻ جي ڪوشش ڪئي، پر پوء پرنٽر ڪجهه سببن لاء ڪم نٿو ڪري. ليبل سائيز کي پرنٽ نوڪري ۾ بيان ڪري سگهجي ٿو.

      VMware ورڪ اسٽيشن ۾ لينڪس تي هڪ XPrinter ليبل پرنٽر ترتيب ڏيڻ
      اسان ڪوشش ڪريون ٿا پرنٽ پيج پرنٽ ڪريو - ٿي ويو!

    2. ٻيو اختيار. توهان کي samba انسٽال ڪرڻ جي ضرورت آهي، شروع ڪريو، کپ ٻيهر شروع ڪريو، پوء کپ ۾ هڪ نئون ڪنيڪشن پوائنٽ ظاهر ٿيندو، سيٽنگون ۾ هڪ لائن داخل ڪريو smb: // استعمال ڪندڙ:[ايميل محفوظ ٿيل]/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 لائبريري استعمال ڪندي پي ڊي ايف ۾ ٽيمپليٽ ٺاهڻ جو فيصلو ڪيو

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 ورڪ اسٽيشن ۾ لينڪس تي هڪ XPrinter ليبل پرنٽر ترتيب ڏيڻ
تيار. مون ان کي ترتيب ڏيڻ ۾ 2 هفتيوار خرچ ڪيو، مون کي اميد آهي ته اهو ڪنهن لاء ڪارائتو هوندو.

جو ذريعو: www.habr.com

تبصرو شامل ڪريو