Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,027

HOME > PHP > PHP Forum > php_printer.dll ต่อกับเครื่องสลิป EPSON ตั้งค่าเตะเกะเงิน(Cash Drawer) ???? ไม่ทำงาน



 

php_printer.dll ต่อกับเครื่องสลิป EPSON ตั้งค่าเตะเกะเงิน(Cash Drawer) ???? ไม่ทำงาน

 



Topic : 110077



โพสกระทู้ ( 3 )
บทความ ( 0 )



สถานะออฟไลน์




สวัสดีครับ
ไม่รู้ว่ามีใครเคยลองอย่างผมมาบ้างแล้วรึยังนะครับ
ก่อนอื่น ผมได้ตั้งค่า เครื่องพริ้นสลิป EPSON TM-T88V ให้เตะเกะเงินหลังจากพริ้น แล้วผมก็ต่อพ่วง เกะเงิน (Cash Drawer)

การทดลองครั้ง ที่ 1
ผมเปิดหน้าเว็ป ซึ่งหน้าเว็ปนั่นเป็นรูปแบบของไฟล์ pdf โดยใช้ fpdf เป็นตัวสร้างมันขึ้น แล้วผมก็กด Ctrl+P > เลือกเครื่องพริ้น EPSON แล้วก็สั่งพริ้นต์
ผลปรากฎว่า สลิปถูกพริ้นต์ หลังจากนั้นเกะเงินก็เตะออกมาครับ

การทดลองครั้งที่ 2
ผมใช้ php_printer.dll (ดัง code ที่แนบมา) สร้างและพริ้นต์ไปที่พริ้นเตอร์อัตโนมัติ
ผลปรากฎว่า สลิปถูกพริ้นต์ แต่เกะเงินไม่เตะ

คำถามคือ ทั้ง 2 การทดลองสามารถทำให้เครื่องพริ้นต์ออกมาได้ แต่ทำไมเกะถึงเตะเฉพาะวิธีที่ 1 ซึ่งการเตะเกะเงินน่าจะถูกสั่งโดยพริ้นต์เตอร์ ????
Code (PHP)
<?php
$handle = printer_open("Receipt"); 
		printer_start_doc($handle, $F_PROJECT_NO);
		printer_start_page($handle);
		printer_set_option($handle,PRINTER_PAPER_FORMAT,PRINTER_FORMAT_CUSTOM);
    	printer_set_option($handle,PRINTER_PAPER_LENGTH,250);
    	printer_set_option($handle,PRINTER_PAPER_WIDTH,80);
		printer_set_option($handle, PRINTER_MODE, "RAW"); 
	
	$font = printer_create_font("AngsanaUPC", 40, 10, PRINTER_FW_BOLD, false, false, false, 0);
	printer_select_font($handle, $font);
	printer_draw_text($handle, iconv('UTF-8','TIS-620','ใบเสร็จรับเงิน'), 0, 0);
	printer_delete_font($font);
	$font = printer_create_font("AngsanaUPC", 35, 8.75, PRINTER_FW_NORMAL, false, false, false, 0);
	printer_select_font($handle, $font);
	$j=40;
	printer_draw_text($handle, iconv('UTF-8','TIS-620',$DataCorp['F_NAME']), 0, $j);
	$j=$j+35;
	printer_draw_text($handle, iconv('UTF-8','TIS-620',$DataCorp['F_ADDRESS']), 0, $j);
	$j=$j+35;
	printer_draw_text($handle, iconv('UTF-8','TIS-620','โทร. '.$DataCorp['F_PHONE']), 0, $j);
	$j=$j+35;
	printer_draw_text($handle, iconv('UTF-8','TIS-620','------------------------------------------------------------------------'), 0, $j);
	$j=$j+35;
	printer_draw_text($handle, iconv('UTF-8','TIS-620','เลขที่บิล: '.$DataTprjOrderMas['F_PROJECT_NO']), 0, $j);
	printer_draw_text($handle, iconv('UTF-8','TIS-620','ใบสัญญา: '.$DataTprjOrderMas['F_CONTRACT_NO']), 280, $j);
	$j=$j+35;
	printer_draw_text($handle, iconv('UTF-8','TIS-620','วันเวลา: '.date('Y-m-d',strtotime($DataTprjOrderMas['F_ORDER_DATE']))), 0, $j);
	$j=$j+35;
	printer_draw_text($handle, iconv('UTF-8','TIS-620','นาม: '. $DataTprjOrderMas['F_NAME']), 0, $j);
	$j=$j+35;
	printer_draw_text($handle, iconv('UTF-8','TIS-620','ชื่อผุ็ติดต่อ: '.$DataTprjOrderMas['F_NICK']), 0, $j);
	printer_draw_text($handle, iconv('UTF-8','TIS-620','เบอร์โทร: '.$DataTprjOrderMas['F_PHONE']), 280, $j);
	$j=$j+35;
	printer_draw_text($handle, iconv('UTF-8','TIS-620','ที่อยู่: '.$DataTprjOrderMas['F_ADDRESS']), 0, $j);
	$j=$j+35;
	printer_draw_text($handle, iconv('UTF-8','TIS-620','------------------------------------------------------------------------'), 0, $j);
	$j=$j+35;
	printer_draw_text($handle, iconv('UTF-8','TIS-620','ชื่อรายการ'), 100, $j);
	printer_draw_text($handle, iconv('UTF-8','TIS-620','เป็นเงิน'), 400, $j);
	$j=$j+35;
	printer_draw_text($handle, iconv('UTF-8','TIS-620','------------------------------------------------------------------------'), 0, $j);
	$j=$j+35;
while($rs=mysql_fetch_array($DataTprjOrderDeposit)){
	if($rs['F_DEPOSIT_SEQ_ID']==1){
		$type = "     งวดมัดจำ";
	}else{
		$type = "     งวดค้างชำระ";
	}
  // Create the data cells
  if($rs['F_STATUS']==''){

  }else{
	printer_draw_text($handle, iconv('UTF-8','TIS-620',$type), 40, $j);
	printer_draw_text($handle, iconv('UTF-8','TIS-620',number_format($rs['F_PRICE_VALUE'],2)), 400, $j);
	$j = $j+35;
  }

}
	//Create the summary cells
	printer_draw_text($handle, iconv('UTF-8','TIS-620','------------------------------------------------------------------------'), 0, $j);
	$j=$j+35;
	printer_draw_text($handle, iconv('UTF-8','TIS-620','รวมเป็นเงิน : '), 0, $j);
	printer_draw_text($handle, iconv('UTF-8','TIS-620',number_format($DataTprjOrderMas['F_PRICE_TOTAL'],2)), 400, $j);
	$j=$j+35;
	printer_draw_text($handle, iconv('UTF-8','TIS-620','ส่วนลด : '), 0, $j);
	printer_draw_text($handle, iconv('UTF-8','TIS-620',number_format($DataTprjOrderMas['F_DISCOUNT_TOTAL'],2)), 400, $j);
	$j=$j+35;
	printer_draw_text($handle, iconv('UTF-8','TIS-620','ค่าธรรมเนียม : '), 0, $j);
	printer_draw_text($handle, iconv('UTF-8','TIS-620',number_format($DataTprjOrderMas['F_SCHARGE_TOTAL'],2)), 400, $j);
	$j=$j+35;
	printer_draw_text($handle, iconv('UTF-8','TIS-620','ภาษี หัก ณ จ่าย : '), 0, $j);
	printer_draw_text($handle, iconv('UTF-8','TIS-620',number_format($DataTprjOrderMas['F_VAT_TOTAL'],2)), 400, $j);
	$j=$j+35;
	printer_draw_text($handle, iconv('UTF-8','TIS-620','รวมเป็นเงินทั้งสิ้น : '), 0, $j);
	printer_draw_text($handle, iconv('UTF-8','TIS-620',number_format($DataTprjOrderMas['F_GRAND_TOTAL'],2)), 400, $j);
	$j=$j+35;
	printer_draw_text($handle, iconv('UTF-8','TIS-620','วิธีชำระเงิน : '), 0, $j);
	printer_draw_text($handle, iconv('UTF-8','TIS-620',$DataTprjOrderMas['F_NOTE_RROJECT']), 110, $j);
	$j=$j+35;	
	printer_draw_text($handle, iconv('UTF-8','TIS-620','ขอขอบพระคุณที่ใช้บริการค่ะ'), 130, $j);
	printer_delete_font($font);
		printer_end_page($handle);
		printer_end_doc($handle);
		printer_close($handle);
?>




Tag : PHP









ประวัติการแก้ไข
2014-07-21 01:17:52
2014-07-21 01:18:29
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-07-21 01:15:28 By : focusmaster View : 1970 Reply : 3
 

 

No. 1



โพสกระทู้ ( 3 )
บทความ ( 0 )



สถานะออฟไลน์


ได้ทำแล้วครับ
มันจะต้องมีไฟล์ .txt ที่เขียนขึ้นมาด้วยโปรแกรม Notepad++ แล้ว Convert Hex->ASCII เพื่อส่งโค๊ดไปที่พริ้นเตอร์ แล้วเตะเกะเงิน
วิธีการทำไฟล์ .txt
ผมใช้ชื่อไฟล์ว่า opencashdrawer.txt

1. เปิดโปรแกรม Notepad++
2. ตรวจสอบว่ามี plug in > convert ถูกติดตั้งอยู่รึป่าว
3. สร้างไฟล์ Notepad++
4. พิมพ์ 1b700019fa
5. highlight โค๊ดที่เพิ่งพิมพ์ไป
7. ไปที่ plugins->Converter-> HEX --> ASCII
8. Save

เราก็จะได้ไฟล์ opencashdrawer.txt

หลังจากนั้นเราก็ไปดึงไฟล์ opencashdrawer.txt ให้มันอ่านใน php ของเรา
Code (PHP)
<?
/////////Cash Drawer/////////
$handle = printer_open("Receipt"); //ชื่อเครื่องพริ้นต์
printer_set_option($handle, PRINTER_MODE, "RAW"); 
	
$fh = fopen("opencashdrawer.txt", "rb"); //เปิดไฟล์ 
$content = fread($fh, filesize("opencashdrawer.txt")); 
fclose($fh); 
printer_write($handle, $content); //ส่งโค๊ดไปเตะเงิน
printer_close($handle);
/////////End Cash Drawer/////////
?>



ลองนำไปใช้กันดูได้ครับ








ประวัติการแก้ไข
2014-07-21 18:47:56
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-21 18:46:48 By : focusmaster
 


 

No. 2



โพสกระทู้ ( 310 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : focusmaster เมื่อวันที่ 2014-07-21 18:46:48
รายละเอียดของการตอบ ::
ขอบคุณมากๆค่าา ได้ความรู้น่าสนใจอีกเรื่องนึง

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-21 22:39:03 By : survivor
 

 

No. 3



โพสกระทู้ ( 484 )
บทความ ( 3 )



สถานะออฟไลน์



แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-07-22 11:21:56 By : fossil31
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : php_printer.dll ต่อกับเครื่องสลิป EPSON ตั้งค่าเตะเกะเงิน(Cash Drawer) ???? ไม่ทำงาน
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่