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

Registered : 108,967

HOME > PHP > PHP Forum > ทำ Barcode 128 มีปัญหาตรง อักขระพิเศษ Carriage Return(CR)



 

ทำ Barcode 128 มีปัญหาตรง อักขระพิเศษ Carriage Return(CR)

 



Topic : 111950



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



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




ตามที่ธนาคารแห่งประเทศไทยได้ประกาศมาตรฐาน ตามลิงค์

http://www.bot.or.th/Thai/PaymentSystems/PSServices/StandardPS/DocLib/Std_Barcode.pdf

ตอนนี้ผมใช้ Class PHP จาก http://barcode-coder.com/en/barcode-php-class-203.html

ติดปัญหาตรงที่ ธนาคารให้ใส่ Carriage Return(CR) เพื่อขึ้นบรรทัดใหม่ ใครที่เคยทำช่วยแนะนำด้วยครับ ตอนนี้คิดไม่ออกเลย

ผมอ่านตามลิงค์ https://www.thaicreate.com/asp/forum/082058.html ก็ยังไม่ได้

ไฟล์ที่ผมลองทำ ตามนี้ครับ

https://drive.google.com/file/d/0B1Lv1k3Ur2MvbFdxXzVFZzh2c2M/view?usp=sharing

Code (PHP)
<?php
	include('./class-barcode/php-barcode.php');
	require('fpdf.php');

	// Start Bar-Code
			  // -------------------------------------------------- //
			  //                      USEFUL
			  // -------------------------------------------------- //
			  
			  class eFPDF extends FPDF{
				function TextWithRotation($x, $y, $txt, $txt_angle, $font_angle=0)
				{
					$font_angle+=90+$txt_angle;
					$txt_angle*=M_PI/180;
					$font_angle*=M_PI/180;
				
					$txt_dx=cos($txt_angle);
					$txt_dy=sin($txt_angle);
					$font_dx=cos($font_angle);
					$font_dy=sin($font_angle);
				
					$s=sprintf('BT %.2F %.2F %.2F %.2F %.2F %.2F Tm (%s) Tj ET',$txt_dx,$txt_dy,$font_dx,$font_dy,$x*$this->k,($this->h-$y)*$this->k,$this->_escape($txt));
					if ($this->ColorFlag)
						$s='q '.$this->TextColor.' '.$s.' Q';
					$this->_out($s);
				}
			  }

			  // -------------------------------------------------- //
			  //                  PROPERTIES
			  // -------------------------------------------------- //
			  
			  $fontSize = 10;
			  $marge    = 10;	   // between barcode and hri in pixel
			  $x        = 200;			// barcode center
			  $y        = 200;			 // barcode center
			  $height   = 50;		// barcode height in 1D ; module size in 2D
			  $width    = 2;			 // barcode height in 1D ; not use in 2D
			  $angle    = 0;			// rotation in degrees
			  
			 $ddd="12345";

			  $code     = "$ddd"; // barcode, of course ;)
			  $type     = 'code128';
			  $black    = '000000'; // color in hexa
			  
			  
			  // -------------------------------------------------- //
			  //            ALLOCATE FPDF RESSOURCE
			  // -------------------------------------------------- //
				
			  $pdf = new eFPDF('P', 'pt');
			  $pdf->AddPage();
			  
			  // -------------------------------------------------- //
			  //                      BARCODE
			  // -------------------------------------------------- //
			  
			  $data = Barcode::fpdf($pdf, $black, $x, $y, $angle, $type, array('code'=>$code), $width, $height);
			  
			  // -------------------------------------------------- //
			  //                      HRI
			  // -------------------------------------------------- //
	// End Bar-Code

	define('FPDF_FONTPATH','font/');

	$pdf->AddFont('angsa','','angsa.php');
	$pdf->SetFont('angsa','',10);

	$len = $pdf->GetStringWidth($data['hri']);
	  Barcode::rotate(-$len / 2, ($data['height'] / 2) + 15 + $marge, $angle, $xt, $yt);
	  $pdf->TextWithRotation($x + $xt, $y + $yt, $data['hri'], $angle);

	$pdf->Cell(0,20,iconv( 'UTF-8','TIS-620','ทดสอบ'),0,1,"C");
	//$pdf->Output("MyPDF/MyPDF.pdf","F");
	$pdf->Output();

?>




Tag : PHP, MySQL









ประวัติการแก้ไข
2014-10-15 09:49:18
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-10-15 09:39:13 By : Berbatov23 View : 11576 Reply : 17
 

 

No. 1



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



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


Mac: \r
Linux/Unix: \n
Windows: \r\n






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-15 09:51:05 By : gaowteen
 


 

No. 2



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



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


Code (PHP)
$ddd="12345";


ผมลองใส่เป็น

Code (PHP)
$ddd="12345\r\n6789";


ตามที่คุณ BIrD แนะนำแล้วบาร์โค๊ด ไม่ขึ้นเลย หรือผมเข้าใจผิดครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-15 09:57:17 By : Berbatov23
 

 

No. 3



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



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


ตามที่ผมอ่าน นะ ครับ
- จัดพิมพดวย Code 128 จํานวน 62 หลัก (ไมรวม Carriage Return ) อยูในแถวเดียวกันจํานวน 1 แทง
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-15 10:02:21 By : gaowteen
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 3 เขียนโดย : gaowteen เมื่อวันที่ 2014-10-15 10:02:21
รายละเอียดของการตอบ ::
อ๋อ ใช่ครับเวลาปริ๊นออกมามันจะแถวเดียวกัน 12345 6789
แต่ที่ผมต้องการคือเวลาใช้เครื่อง Barcode Reader อ่านมันต้องออกมาเป็น

12345
6789

คือมันต้องคนละแถวถึงจะได้ครับ อันนี้ผมโทรไปถามธนาคารแห่งประเทศไทยแล้ว

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-15 10:10:25 By : Berbatov23
 


 

No. 5



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



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


12345<CR>6789 แบบนี้ได้ปะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-15 10:29:26 By : gaowteen
 


 

No. 6



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



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


ตอบความคิดเห็นที่ : 5 เขียนโดย : gaowteen เมื่อวันที่ 2014-10-15 10:29:26
รายละเอียดของการตอบ ::
ไม่ได้คับ ลองแล้ว
ผมลอง <br>,\r\n,chr(13) ไม่ได้เลย

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-15 10:33:24 By : Berbatov23
 


 

No. 7



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : Berbatov23 เมื่อวันที่ 2014-10-15 10:33:24
รายละเอียดของการตอบ ::
<CR> มันจะแทรก ตัวหนังสือ CR เข้าไป แต่ไม่โชว์ต้องเอาไปยิงถึงจะเห็น ลองเอาไปเทสดูครับว่าผ่านไหม



ประวัติการแก้ไข
2014-10-15 10:37:02
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-15 10:36:02 By : gaowteen
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 7 เขียนโดย : gaowteen เมื่อวันที่ 2014-10-15 10:36:02
รายละเอียดของการตอบ ::
มันอ่านออก เป็น 12345<CR>6789 ตามฟอรแมท ต้อง
12345
6789
ท่านอื่นมีใครเคยทำแนวๆนี้ไหมคับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-15 10:48:32 By : Berbatov23
 


 

No. 9



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



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


ลองใช้
Code (PHP)
%0D


ก็ไม่ได้

ลองทำตามลิงค์นี้
https://www.thaicreate.com/php/forum/035964.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-10-15 14:00:52 By : Berbatov23
 


 

No. 10

Guest


ของเราเครื่องมันไม่อ่านเลยอ่ะ หรือถ้าอ่านก็จะขึ้นว่า TYPE UPC_E แล้วก็ขึ้นเลขอะไรไม่รู้ประมาณ 6 หลัก ทั้งๆที่จริงๆมีตัวเลขมากกว่านั้น และใช้ฟอนต์ code128 รบกวนขอคำชี้แนะจากผู้รู้ด้วยจร้า ตอนนี้เราขอแค่อ่านได้ก่อนก็พอ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-22 11:23:13 By : ัyyy
 


 

No. 11



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



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

ลองเอาโค๊ดมาแปะ ดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-22 13:21:39 By : NewbiePHP
 


 

No. 12

Guest


Code (PHP)
<?php 	 
//	ฟังก์ชั่น บาร์โค๊ด
		$images = ImageCreate(500,50);     //ความกว้าง ความสูง ของกรอบบาร์โค้ด
		$color = ImageColorAllocate($images,255,255,255);
		$white = ImageColorAllocate($images, 255, 255, 255);
		$blue = ImageColorAllocate($images, 0, 0, 255);
		ImageRectangle($images, 0, 0, 299, 69, $color);

		$text="12345 6789";
		$font = 'code128.TTF';        //FONT
		
		$white = ImageColorAllocate($images, 255, 255, 255);
		$blue = ImageColorAllocate($images, 0, 0, 255);
		ImagettfText($images, 27, 0, 15, 35, $blue, $font, $text);  //ตำแหน่ง text บาร์โค้ด
		
		ImagePng($images,"MyResize/image.png");
		ImageDestroy($images);
php?>

	     <img src=MyResize/image.png width="337" height="32"> <br>
             <? echo $text; ?>



ผลที่ได้ค่ะ แต่สแกนไม่ติด
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-22 17:15:51 By : ัyyy
 


 

No. 13

Guest


จากตัวอย่าง ใช้ code แค่นี้ค่ะ แล้วก็ดาวน์โหลด font code128.TTF มาไว้ที่โฟลเดอร์โปรเจ็ค
ส่วน text เป็นข้อมูลตัวอย่างค่ะ รบกวนด้วยนะคะ ขอบคุณค่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-22 17:17:59 By : yyy
 


 

No. 14



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



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

หมายความว่าเครื่อง อ่านๆ จาก barcode ที่เราพิมพ์ออกมาไม่ได้ใช่ไหมครับ

ลองกำหนด size ให้มันใหญ่ขึ้น ดูครับ บางทีมันเล็กไป หรือไม่ก็หาเครื่อง lazer มาลองพิมพ์แล้วทดสอบดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-07-22 18:14:26 By : NewbiePHP
 


 

No. 15

Guest


ผมทำแบบนี้ได้นะครับ
$BCODE= "|123542\n253652\n4855858\n30000";

ผลลัพธ์จะออกมาแบบนี้
(แท่งบาร์โค้ด)
|123542 253652 4855858 30000

พอเอาเครื่องอ่านบาร์โค้ดมายิง มันจะขึ้นแบบนี้
|123542
253652
4855858
30000


ผมใช้กับ tcpdf นะครับ
$BCODE= "|123542\n253652\n4855858\n30000";
$params = TCPDF_STATIC::serializeTCPDFtagParameters(array($BCODE, 'C128', '', '', 180, 15, 0.9, array('position'=>'S','align' => 'C', 'border'=>true, 'padding'=>1, 'fgcolor'=>array(0,0,0), 'bgcolor'=>array(255,255,255), 'text'=>true, 'font'=>'helvetica', 'fontsize'=>10, 'stretchtext'=>10), 'N'));

ลองดูครับ หรือว่าทำได้แล้วนะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-03-31 09:03:11 By : พิภพ อินต๊ะภา
 


 

No. 16

Guest


ขอบคุณ คุณพิภพ มากครับ กำลังหาวิธีของ TCPDF อยู่พอดี
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-01-24 13:50:31 By : KOB
 


 
เข้ามาแชร์ข้อมูลเพิ่มเติมครับ

ผมใช้ Library ของ https://github.com/picqer/php-barcode-generator

การเรียกใช้งาน

$barcode = "|$line1\n$line2\n$line3\n$line4";
$generatorPNG = new Picqer\Barcode\BarcodeGeneratorPNG();
$output = '<img width="380" height="35" src="data:image/png;base64,' . base64_encode($generatorPNG->getBarcode($barcode, $generatorPNG::TYPE_CODE_128)) . '">';

ทดสอบแล้ว Scan ได้ ขึ้นบรรทัดใหม่แบบสวยงามครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-10-07 21:43:06 By : Barnaby
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ทำ Barcode 128 มีปัญหาตรง อักขระพิเศษ Carriage Return(CR)
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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: Voake, Comcube, รับทำเว็บไซต์ รับเขียนโปรแกรม , pangpond.com , pangpond.co.th , สำนักงานบัญชี.com , รถมือสอง

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