ホームページ  >  記事  >  バックエンド開発  >  PHPでさまざまなバーコードを生成する方法

PHPでさまざまなバーコードを生成する方法

藏色散人
藏色散人オリジナル
2022-10-31 09:53:392109ブラウズ

php でさまざまなバーコードを生成する方法: 1. 「composer require codeitnowin/barcode」ステートメントを通じて必要なコード ライブラリをインストールします; 2. 作成されたファイルのコンテンツにデータ フロー ファイルを書き込みます; 3. 出力写真をファイルするだけです。

PHPでさまざまなバーコードを生成する方法

このチュートリアルの動作環境: Windows 7 システム、PHP バージョン 8.1、Dell G3 コンピューター。

php さまざまなバーコードを生成するにはどうすればよいですか?

php バーコードの生成:

バーコード (バーコード) は、特定のエンコード規則に従って、幅の異なる複数の黒いバーと空白を配置するものです。一連の情報を表現します。

これは PHP を使用して実装され、ほとんどのコーディング システムをサポートします。

バーコード長

Code128、Code39 Extended、Code93 Extended は、すべての ASCII コードをサポートします。

Code128 には 3 つの文字セットがあります: 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 コードは、最も広く使用されているバーコード コード化システムの 1 つです。

CODE128 コードは、1981 年に導入された高密度バーコードです。CODE128 コードは、ASCII 0 から ASCII 127 までの合計 128 文字を表すことができるため、128 コードと呼ばれます。数字、文字、記号が含まれます。

Code 128 コードと Code 39 コードには多くの類似点があり、どちらも企業の内部管理、生産プロセス、物流管理システムで広く使用されています。違いは、Code 128 は Code 39 よりも多くの文字を表現でき、単位長あたりのコーディング密度が高いことです。 Code 39 エンコーディングが単位長に収まらない場合、またはエンコードされた文字が Code 39 の制限を超える場合、Code 128 をエンコーディングに選択できます。

Code39、Code93 は、09 桁の数字、A ~ Z の大文字、「/」、「 」、「%」、「$」、「-」、「.」、およびスペースの範囲をサポートします。長さは理論上無制限の制限。

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 です。

Bookland、ISSN、ISSN は数字以外の文字をサポートしている場合があります。このミドルウェアのサポートについては、「Bookland (ISBN) と ISSN について」セクションの説明を参照してください。

Code11 は、0`9 の数字と「-」の範囲をサポートしており、理論上、長さは無制限です。

Codabar は、0`9 の数字と 'A'、'B'、'C'、'D'、'-'、'.'、'/'、':'、' の範囲をサポートします。 '、'$'、開始文字と終了文字は 'A'、'B'、'C'、'D' の文字である必要があり、理論的には長さに制限はありません。

MSI、コード 2of5 は 0`9 の数字の範囲をサポートしており、理論的には長さは無制限です。

PostNet は、5、9、または 11 桁の長さの 0`9 の数字の範囲をサポートしています。この開発キットは、12345-8012 などの数字以外の文字を含む形式をサポートしており、より便利です。使用します。

マトリックス 25 (マトリックス 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。