ホームページ  >  記事  >  バックエンド開発  >  PHP はバーコード設計コードを実装します

PHP はバーコード設計コードを実装します

WBOY
WBOYオリジナル
2023-05-07 09:34:06948ブラウズ

現代の商取引において、バーコードは商品を一意に識別するために必要なツールとなっています。ビジネス ニーズに合ったバーコード コード生成ツールを選択すると、製品識別の効率が向上し、関連する問題を回避できます。その中でも、PHP は広く使用されているプログラミング言語であり、多くのバーコード コード ジェネレーターの基本言語の 1 つです。ここではPHPを使ってバーコードのデザインコードを実装する方法を紹介します。

1. バーコードとは何ですか?

一般的に、バーコードは特定のエンコード規則を備えたグラフィック識別であり、記号と文字の特定の組み合わせを使用して物理情報を表します。販売情報、在庫情報、デジタル情報、商品番号などの情報をシンプルかつ効率的に伝えることを目的としています。

2. PHP はバーコードを生成します

PHP は複数の種類のバーコードを生成できるため、開発者はビジネス ニーズに最適に応えるために必要なバーコード仕様を理解し、精通している必要があります。 PHP でバーコード設計を実装するための 2 つの主なツールは、GD ライブラリと BCMath 関数ライブラリです。

  1. GD ライブラリ

GD このライブラリは、PHP 拡張機能として存在する無料のグラフィック処理ライブラリであり、複数の形式の画像を処理でき、バーコードなどのさまざまな種類の画像を生成します。

まず、GD ライブラリが開いているかどうかを確認する必要があります。開いていない場合は、手動で有効にする必要があります。次に、GD バージョン 2.x 以降のライブラリをインストールする必要があります。 GD ライブラリを使用して、gif、jpeg、png、wbmp、xbm などのさまざまな形式の画像をサポートできる PHP 環境で画像を生成します。

次は、GD を有効にするための拡張メソッドです:

<?php
if (!extension_loaded('gd')) {
  if (!dl('gd.so')) {
    exit('无法加载 GD 扩展!');
  }
}
?>
  1. BCMath 関数ライブラリ

BCMath 関数ライブラリは、高機能です。 - 任意精度の数値計算をサポートする PHP ライブラリの高精度数学。開発者は、BCMath 関数ライブラリを使用して数値計算を実行し、バーコード モジュール データを効率的に生成する必要があります。

以下は、BCMath 関数ライブラリを構成するためのサンプル コードです。

<?php
$barcode_text = '123456789'; // 条形码文本信息
$barcode_width = 200; // 条形码图片宽度
$barcode_height = 50; // 条形码图片高度
$barcode_ratio = 2; // 缩放比例

// 设置 BCMath 函数库精度
$bcmath_precision = 3;
if (function_exists('bcscale')) {
  @bcscale($bcmath_precision);
}
?>

bcscale 関数は、上記のコードで使用されており、精度を設定するために使用されます。数学関数ライブラリ (BCMath) 。精度の設定を高くすると、浮動小数点数の精度も高くなりますが、メモリ要件も高くなります。

3. EAN-13 バーコードの生成

EAN-13 は一般的に使用されるバーコード標準であり、製品の国、メーカー、製品番号、チェック コード、その他の情報が含まれています。 。 PHP で EAN-13 バーコードを生成するには、関連する生成ルールに従う必要があります。

以下は、EAN-13 バーコードを生成するサンプル コードです:

<?php
$barcode_text = '123456789012'; // 条形码文本信息
$barcode_width = 200; // 条形码图片宽度
$barcode_height = 50; // 条形码图片高度
$barcode_ratio = 2; // 缩放比例

// 设置 BCMath 函数库精度
$bcmath_precision = 3;
if (function_exists('bcscale')) {
  @bcscale($bcmath_precision);
}

//生成 EAN-13 条形码数据
$ean13_data = $this->getEan13Data($barcode_text);
$ean13_data_length = strlen($ean13_data);
$last = $ean13_data[$ean13_data_length - 1];

// 绘制条形码
$img = imagecreatetruecolor($barcode_width, $barcode_height);
$bg_color = imagecolorallocate($img, 255, 255, 255);
imagefill($img, 0, 0, $bg_color);

$xPos = 0;
$barWidth = $barcode_width / (7 + (7 * 6) + 7);
for ($i = 0; $i < $ean13_data_length - 1; $i++) {
    if (($i == 0) || ($i == 1) || ($i == 2) || ($i == 45) || ($i == 46) || ($i == 47)) {
        $code = $this->codingMapping($ean13_data[$i], true);
        $f = 1;
        for ($j = 0; $j < 7; $j++) {
            if (substr($code, $j, 1) == "1") {
                imagefilledrectangle($img, $xPos, 0, $xPos + ($barWidth * $barcode_ratio), $barcode_height, 0);
            }
            $xPos += ($barWidth * $barcode_ratio);
        }
    } else {
        $code_b = $this->codingMapping($ean13_data[$i], false);
        for ($j = 0; $j < 6; $j++) {
            if (substr($code_b, $j, 1) == "1") {
                imagefilledrectangle($img, $xPos, 0, $xPos + ($barWidth * $barcode_ratio), $barcode_height, 0);
            }
            $xPos += ($barWidth * $barcode_ratio);
        }
    }
}

//    输出给客户端
header('content-type:image/png');
imagepng($img);
imagedestroy($img);
?>

上記のコードは、EAN-13 バーコードの特定のエンコード ルールを生成し、国、メーカー番号、および製品の品番、チェックコード等を入力し、これを基に必要なバーコードを描画します。これに基づいて、GD ライブラリを通じて画像が生成されます。

4. 結論

現代のビジネスにおいてバーコード テクノロジーが果たす重要な役割は自明です。 PHP でバーコード設計を実装する必要性については、比較的簡単で効果的です。実際の開発では、バーコード生成の機能要件をより適切に実現するために、PHP の基本知識、コーディング ルール、関連する基礎となる関数ライブラリの使用法を習得する必要があります。

以上がPHP はバーコード設計コードを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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