>  기사  >  백엔드 개발  >  PHP에서 다양한 바코드를 생성하는 방법

PHP에서 다양한 바코드를 생성하는 방법

藏色散人
藏色散人원래의
2022-10-31 09:53:392129검색

PHP에서 다양한 바코드를 생성하는 방법: 1. "composer require codeitnowin/barcode" 문을 통해 필요한 코드 라이브러리를 설치합니다. 2. 생성된 파일의 내용에 데이터 흐름 파일을 씁니다. 3. 이미지 파일을 출력합니다.

PHP에서 다양한 바코드를 생성하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, Dell G3 컴퓨터.

PHP에서 다양한 바코드를 생성하는 방법은 무엇입니까?

php 바코드 생성:

바코드(barcode)는 특정 인코딩 규칙에 따라 여러 개의 검은색 막대와 다양한 너비의 공백을 배열하여 일련의 정보를 표현하는 그래픽 식별자입니다.

이것은 PHP를 사용하여 구현되며 대부분의 코딩 시스템을 지원합니다.

바코드 길이

Code128, Code39 Extended, Code93 Extended는 모든 ASCII 코드를 지원합니다.

Code128에는 세 가지 문자 세트 A, B, C가 있습니다. 각 문자 세트는 대략 다음과 같이 일부를 지원합니다.

A 문자 세트는 AZ 26 대문자, 09 9 숫자 및 일부 특수 문자

B 문자 세트를 지원합니다. AZ 26 대문자 및 소문자, 09 9 숫자 및 일부 특수 문자를 지원합니다.

C 문자 세트는 순수 숫자 문자인 0`9 9 숫자를 지원하며 바코드 생성 시 홀수인 경우입니다. 앞에 0을 자동으로 추가합니다. 순수 문자의 최대 길이는 32비트이고, 순수 문자와 특수 기호를 더한 길이는 44비트입니다. EAN/UCC 128은 Code 128과 동일합니다.

CODE128 코드는 기업 내부 관리, 생산 프로세스, 물류 제어 시스템에서 널리 사용되는 바코드 시스템으로, 우수한 특성으로 인해 경영 정보 디자인에 널리 사용됩니다. CODE128 코드는 가장 널리 사용되는 바코드 시스템 중 하나입니다.

CODE128 코드는 1981년에 도입된 고밀도 바코드입니다. CODE128 코드는 ASCII 0부터 ASCII 127까지 총 128자를 표현할 수 있으므로 128 코드라고 합니다. 숫자, 알파벳 및 기호 문자가 포함되어 있습니다.

 Code 128 코드와 Code 39 코드는 유사점이 많으며 둘 다 기업 내부 관리, 생산 프로세스 및 물류 제어 시스템에 널리 사용됩니다. 차이점은 코드 128이 코드 39보다 더 많은 문자를 표현할 수 있고 단위 길이당 코딩 밀도가 더 높다는 것입니다. Code 39 인코딩을 단위 길이에 수용할 수 없거나 인코딩된 문자가 Code 39의 제한을 초과하는 경우 Code 128을 선택하여 인코딩할 수 있습니다.

Code39 및 Code93은 09개의 숫자 범위와 AZ 대문자, '/', '+', '%', '$', '-', '.' 및 공백을 지원합니다. 길이는 이론적으로 무제한입니다.

Code39 Extended, Code93 Extended는 '-', '.'를 지원하지 않으며, 그 외는 39 93과 동일합니다.

EAN8, EAN13, EAN Ext, UPC A, UPC E, UPC Ext는 0`9 숫자를 지원하고, EAN8 길이는 8, EAN13 길이는 13, EAN8 Ext 길이는 10 또는 13, EAN13 Ext 길이는 15 또는 18, UPCA 길이는 12이고, UPCE 길이는 8이고, UPCE Ext 길이는 10 또는 13이고, UPCA Ext 길이는 14 또는 17입니다.

북랜드, ISSN, ISSN은 숫자 이외의 문자를 지원할 수 있습니다. 이 미들웨어 지원에 대해서는 "북랜드(ISBN) 및 ISSN 정보" 섹션의 지침을 참조하세요.

Code11은 0`9 숫자 범위와 '-'를 지원하며, 길이는 이론적으로 무제한입니다.

Codabar는 0`9 숫자 범위와 'A', 'B', 'C', 'D', '-', '.', '/', ':', '+', '를 지원합니다. $'의 시작문자와 끝문자는 'A', 'B', 'C', 'D' 문자이어야 하며, 길이는 이론적으로 제한되지 않습니다.

MSI, 코드 2of5는 0`9 숫자 범위를 지원하며 길이는 이론적으로 무제한입니다.

PostNet은 0`9의 숫자 범위를 지원하며, 길이는 5, 9, 11자리입니다. 이 개발 키트는 12345-8012와 같이 숫자가 아닌 문자가 포함된 형식을 지원하므로 사용하기 더 편리합니다.

Matrix 25 (Matrix 25 코드) 지원되는 범위는 숫자 0`9, 길이는 13자리입니다.

필요한 코드 라이브러리 설치

composer require codeitnowin/barcode

Baidu 클라우드 주소: https://pan.baidu.com/s/1-hFWYfed4y3YkWKLz2o75g

관련 코드(구체적으로 아래 표시)

<?php
 
namespace App\Http\Controllers;
 
use Illuminate\Http\Request;
 
 
use CodeItNow\BarcodeBundle\Utils\BarcodeGenerator;
use CodeItNow\BarcodeBundle\Utils\QrCode;
 
class BarCodeController extends Controller
{
    public function index()
    {
 
        echo &#39;<p>Example - QrCode</p>&#39;;
        $qrCode = new QrCode();
        $qrCode
            ->setText(&#39;https://www.php.net/manual/zh/&#39;)
            ->setSize(300)
            ->setPadding(10)
            ->setErrorCorrection(&#39;high&#39;)
            ->setForegroundColor(array(&#39;r&#39; => 0, &#39;g&#39; => 0, &#39;b&#39; => 0, &#39;a&#39; => 0))
            ->setBackgroundColor(array(&#39;r&#39; => 255, &#39;g&#39; => 255, &#39;b&#39; => 255, &#39;a&#39; => 0))
            ->setLabel(&#39;https://www.php.net/&#39;)
            ->setLabelFontSize(16)
            ->setImageType(QrCode::IMAGE_TYPE_PNG);
        echo &#39;<img  src="data:&#39; . $qrCode- alt="PHP에서 다양한 바코드를 생성하는 방법" >getContentType() . &#39;;base64,&#39; . $qrCode->generate() . &#39;" />&#39;;
 
        echo &#39;<hr>&#39;;
        echo &#39;<p>Example - Code128</p>&#39;;
        $barcode = new BarcodeGenerator();
        $barcode->setText("0123456789");
        $barcode->setType(BarcodeGenerator::Code128);
        $barcode->setScale(2);
        $barcode->setThickness(25);
        $barcode->setFontSize(10);
        $code = $barcode->generate();
        echo &#39;<img  src="https://img-blog.csdnimg.cn/2022010611514192897.png&#39; . $code . &#39;" / alt="PHP에서 다양한 바코드를 생성하는 방법" >&#39;;
 
        echo &#39;<hr>&#39;;
        echo &#39;<p>Example - Code11</p>&#39;;
        $barcode = new BarcodeGenerator();
        $barcode->setText("0123456789");
        $barcode->setType(BarcodeGenerator::Code11);
        $code = $barcode->generate();
        echo &#39;<img  src="https://img-blog.csdnimg.cn/2022010611514192897.png&#39; . $code . &#39;" / alt="PHP에서 다양한 바코드를 생성하는 방법" >&#39;;
 
        echo &#39;<hr>&#39;;
        echo &#39;<p>Example - Code39</p>&#39;;
        $barcode = new BarcodeGenerator();
        $barcode->setText("0123456789");
        $barcode->setType(BarcodeGenerator::Code39);
        $code = $barcode->generate();
        echo &#39;<img  src="https://img-blog.csdnimg.cn/2022010611514192897.png&#39; . $code . &#39;" / alt="PHP에서 다양한 바코드를 생성하는 방법" >&#39;;
 
        echo &#39;<hr>&#39;;
        echo &#39;<p>Example - Code39Extended</p>&#39;;
        $barcode = new BarcodeGenerator();
        $barcode->setText("0123456789");
        $barcode->setType(BarcodeGenerator::Code39Extended);
        $code = $barcode->generate();
        echo &#39;<img  src="https://img-blog.csdnimg.cn/2022010611514192897.png&#39; . $code . &#39;" / alt="PHP에서 다양한 바코드를 생성하는 방법" >&#39;;
 
        echo &#39;<hr>&#39;;
        echo &#39;<p>Example - Ean128</p>&#39;;
        $barcode = new BarcodeGenerator();
        $barcode->setText("00123456789012345675");
        $barcode->setType(BarcodeGenerator::Ean128);
        $code = $barcode->generate();
        echo &#39;<img  src="https://img-blog.csdnimg.cn/2022010611514192897.png&#39; . $code . &#39;" / alt="PHP에서 다양한 바코드를 생성하는 방법" >&#39;;
 
        echo &#39;<hr>&#39;;
        echo &#39;<p>Example - Gs1128</p>&#39;;
        $barcode = new BarcodeGenerator();
        $barcode->setText("00123456789012345675");
        $barcode->setType(BarcodeGenerator::Gs1128);
        $code = $barcode->generate();
        echo &#39;<img  src="https://img-blog.csdnimg.cn/2022010611514192897.png&#39; . $code . &#39;" / alt="PHP에서 다양한 바코드를 생성하는 방법" >&#39;;
 
        echo &#39;<hr>&#39;;
        echo &#39;<p>Example - Gs1128</p>&#39;;
        $barcode = new BarcodeGenerator();
        $barcode->setText("4157707266014651802001012603068039000000006377069620171215");
        $barcode->setType(BarcodeGenerator::Gs1128);
        $barcode->setNoLengthLimit(true);
        $barcode->setAllowsUnknownIdentifier(true);
        $code = $barcode->generate();
        echo &#39;<img  src="https://img-blog.csdnimg.cn/2022010611514192897.png&#39; . $code . &#39;" / alt="PHP에서 다양한 바코드를 생성하는 방법" >&#39;;
 
        echo &#39;<hr>&#39;;
        echo &#39;<p>Example - I25</p>&#39;;
        $barcode = new BarcodeGenerator();
        $barcode->setText("00123456789012345675");
        $barcode->setType(BarcodeGenerator::I25);
        $code = $barcode->generate();
        echo &#39;<img  src="https://img-blog.csdnimg.cn/2022010611514192897.png&#39; . $code . &#39;" / alt="PHP에서 다양한 바코드를 생성하는 방법" >&#39;;
 
        echo &#39;<hr>&#39;;
        echo &#39;<p>Example - Isbn</p>&#39;;
        $barcode = new BarcodeGenerator();
        $barcode->setText("0012345678901");
        $barcode->setType(BarcodeGenerator::Isbn);
        $code = $barcode->generate();
        echo &#39;<img  src="https://img-blog.csdnimg.cn/2022010611514192897.png&#39; . $code . &#39;" / alt="PHP에서 다양한 바코드를 생성하는 방법" >&#39;;
 
        echo &#39;<hr>&#39;;
        echo &#39;<p>Example - Msi</p>&#39;;
        $barcode = new BarcodeGenerator();
        $barcode->setText("0012345678901");
        $barcode->setType(BarcodeGenerator::Msi);
        $code = $barcode->generate();
        echo &#39;<img  src="https://img-blog.csdnimg.cn/2022010611514192897.png&#39; . $code . &#39;" / alt="PHP에서 다양한 바코드를 생성하는 방법" >&#39;;
 
        echo &#39;<hr>&#39;;
        echo &#39;<p>Example - Postnet</p>&#39;;
        $barcode = new BarcodeGenerator();
        $barcode->setText("01234567890");
        $barcode->setType(BarcodeGenerator::Postnet);
        $code = $barcode->generate();
        echo &#39;<img  src="https://img-blog.csdnimg.cn/2022010611514192897.png&#39; . $code . &#39;" / alt="PHP에서 다양한 바코드를 생성하는 방법" >&#39;;
 
        echo &#39;<hr>&#39;;
        echo &#39;<p>Example - S25</p>&#39;;
        $barcode = new BarcodeGenerator();
        $barcode->setText("012345678901");
        $barcode->setType(BarcodeGenerator::S25);
        $code = $barcode->generate();
        echo &#39;<img  src="https://img-blog.csdnimg.cn/2022010611514192897.png&#39; . $code . &#39;" / alt="PHP에서 다양한 바코드를 생성하는 방법" >&#39;;
 
        echo &#39;<hr>&#39;;
        echo &#39;<p>Example - Upca</p>&#39;;
        $barcode = new BarcodeGenerator();
        $barcode->setText("012345678901");
        $barcode->setType(BarcodeGenerator::Upca);
        $code = $barcode->generate();
        echo &#39;<img  src="https://img-blog.csdnimg.cn/2022010611514192897.png&#39; . $code . &#39;" / alt="PHP에서 다양한 바코드를 생성하는 방법" >&#39;;
 
        echo &#39;<hr>&#39;;
        echo &#39;<p>Example - Upce</p>&#39;;
        $barcode = new BarcodeGenerator();
        $barcode->setText("012345");
        $barcode->setType(BarcodeGenerator::Upce);
        $code = $barcode->generate();
        echo &#39;<img  src="https://img-blog.csdnimg.cn/2022010611514192897.png&#39; . $code . &#39;" / alt="PHP에서 다양한 바코드를 생성하는 방법" >&#39;;
 
    }
}

PHP에서 다양한 바코드를 생성하는 방법

방법 base64 형식의 이미지 데이터를 이미지로 변환

// $base_img是获取到前端传递的值
            $base_img = str_replace(&#39;data:image/jpg;base64,&#39;, &#39;&#39;, $code);
//  设置文件路径和命名文件名称
            $path = "D:/Uploads/Bar/2019-12-11/";
            $output_file = time().rand(100,999).&#39;.jpg&#39;;
            $path = $path.$output_file;
//  创建将数据流文件写入我们创建的文件内容中
            file_put_contents($path, base64_decode($base_img));
// 输出文件
            print_r($output_file);
Buy me a cup of coffee :)

추천 학습: "PHP 비디오 튜토리얼"

위 내용은 PHP에서 다양한 바코드를 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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