>  기사  >  백엔드 개발  >  PHP_php 기술로 바코드 생성의 비밀

PHP_php 기술로 바코드 생성의 비밀

WBOY
WBOY원래의
2016-05-16 20:07:29851검색

1. 바코드란?

바이두 백과사전 정의: 바코드는 특정 인코딩 규칙에 따라 여러 개의 검은색 막대와 다양한 너비의 공백을 배열하여 일련의 정보를 표현하는 그래픽 식별자입니다. 일반적인 바코드는 반사율이 매우 다른 검은색 막대(바라고 함)와 흰색 막대(스페이스라고 함)가 평행선으로 배열된 패턴입니다. 일상생활에서 바코드는 생산 국가, 제조업체, 제품 이름, 생산 날짜, 도서 분류 번호, 우편 주소 시작 및 끝, 카테고리, 날짜 및 기타 여러 정보를 나타낼 수 있습니다. 바코드 인코딩 형식에 대한 자세한 내용은

을 참조하세요.

인쇄된 쿠폰의 경우 판매자는 유효성을 확인하기 위해 유효성 검사기를 사용하여 바코드를 읽어야 합니다.

2. 바코드는 어떻게 생성하나요?

먼저 강력한 오픈소스 정보를 찾아 바코드 공식 홈페이지에서 바코드gen.1d-php5.v5.0.1.zip 버전을 다운로드한 뒤, 파일의 압축을 풀어 아파치 서버의 루트 디렉터리에 넣어주세요

2.1 파일 구조:

2.2 상세 분석

(1) 클래스 폴더는 바코드 생성을 위해 패키징된 클래스로, 호출만 하면 됩니다.

(2) index.php는 선택적 조건으로 바코드를 생성하는 함수로 메인 프로그램의 입구이고, html 폴더는 제공되는 참조 코드이고, code39.php는 기본 인코딩 포맷을 의미합니다.

<&#63;php 
header('Location: html/code39.php'); 
&#63;> 

(3) test.php는 코드를 통해 직접 HELLO 바코드를 생성하는 또 다른 예입니다.

View Code  
 
<&#63;php 
// 引用class文件夹对应的类 
require_once('class/BCGFontFile.php'); 
require_once('class/BCGColor.php'); 
require_once('class/BCGDrawing.php'); 
 
// 条形码的编码格式 
require_once('class/BCGcode39.barcode.php'); 
 
// 加载字体大小 
$font = new BCGFontFile('./class/font/Arial.ttf', 18); 
 
//颜色条形码 
$color_black = new BCGColor(0, 0, 0); 
$color_white = new BCGColor(255, 255, 255); 
 
$drawException = null; 
try { 
  $code = new BCGcode39(); 
  $code->setScale(2);  
  $code->setThickness(30); // 条形码的厚度 
  $code->setForegroundColor($color_black); // 条形码颜色 
  $code->setBackgroundColor($color_white); // 空白间隙颜色 
  $code->setFont($font); //  
  $code->parse('HELLO'); // 条形码需要的数据内容 
} catch(Exception $exception) { 
  $drawException = $exception; 
} 
 
//根据以上条件绘制条形码 
$drawing = new BCGDrawing('', $color_white); 
if($drawException) { 
  $drawing->drawException($drawException); 
} else { 
  $drawing->setBarcode($code); 
  $drawing->draw(); 
} 
 
// 生成PNG格式的图片 
header('Content-Type: image/png'); 
 
 
$drawing->finish(BCGDrawing::IMG_FORMAT_PNG); 
&#63;>

3. 실제 적용

위의 내용을 전반적으로 이해한 후, 코드를 다시 통합하여 더욱 사용하기 편리하게 만들 수 있습니다.

먼저 새 buildcode.php 파일을 생성하고 test.php 파일을 기반으로 다시 작성한 다음 요청된 파일에서 데이터를 가져옵니다.

1) 바코드 인코딩 형식

2) 바코드에 필요한 데이터 내용

View Code  
<&#63;php 
// Including all required classes 
require_once('class/BCGFontFile.php'); 
require_once('class/BCGColor.php'); 
require_once('class/BCGDrawing.php');  
$codebar = $_REQUEST['codebar']; //条形码将要数据的内容  
// Including the barcode technology 
require_once('class/'.$codebar.'.barcode.php');  
// Loading Font 
$font = new BCGFontFile('./class/font/Arial.ttf', 12);  
// The arguments are R, G, B for color. 
$color_black = new BCGColor(0, 0, 0); 
$color_white = new BCGColor(255, 255, 255);  
$drawException = null; 
try { 
  $code = new $codebar();//实例化对应的编码格式 
  $code->setScale(2); // Resolution 
  $code->setThickness(23); // Thickness 
  $code->setForegroundColor($color_black); // Color of bars 
  $code->setBackgroundColor($color_white); // Color of spaces 
  $code->setFont($font); // Font (or 0) 
  $text = $_REQUEST['text']; //条形码将要数据的内容 
  $code->parse($text); 
} catch(Exception $exception) { 
  $drawException = $exception; 
}  
/* Here is the list of the arguments 
 - Filename (empty : display on screen) 
 - Background color */ 
$drawing = new BCGDrawing('', $color_white); 
if($drawException) { 
  $drawing->drawException($drawException); 
} else { 
  $drawing->setBarcode($code); 
  $drawing->draw(); 
}  
// Header that says it is an image (remove it if you save the barcode to a file) 
header('Content-Type: image/png');  
// Draw (or save) the image into PNG format. 
$drawing->finish(BCGDrawing::IMG_FORMAT_PNG); 
&#63;> 

그런 다음 새 test.html 파일을 생성하고 buildcode.php에서 데이터를 요청합니다

<!DOCTYPE html> 
<html> 
<head> 
<title>Test with embedded image</title> 
</head> 
<body> 
 <img src="buildcode.php&#63;codebar=BCGcode39&text=abc123"/> 
</body> 
</html> 

드디어 방문하면 브라우저가 직접 png 형식의 바코드를 생성합니다

코드바에서 지원하는 인코딩 형식은 사용자가 요청할 수 있습니다.

/*'BCGcodabar','BCGcode11','BCGcode39','BCGcode39extended','BCGcode93', 
'BCGcode128','BCGean8','BCGean13','BCGisbn','BCGi25','BCGs25','BCGmsi', 
'BCGupca','BCGupce','BCGupcext2','BCGupcext5','BCGpostnet','BCGothercode'*/ 

이제 인증만 남았습니다

4. 확인

바코드가 유효한지, 즉 바코드 내용을 읽을 수 있는지 어떻게 확인하나요?

먼저 이미지를 저장한 뒤 공식 홈페이지에서 제공하는 인증 기능에 접속해 이미지를 업로드하면 OK!

오늘은 PHP가 바코드를 생성하는 방법을 공개하겠습니다. 바코드 형성에 대한 전반적인 이해를 갖고 향후 연구에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.