thalassa-web / barcode-helper
用于生成/验证条形码的助手
Requires
- php: ^7.0
Requires (Dev)
- atoum/atoum: 3.2.*
- atoum/stubs: 2.5.*
This package is auto-updated.
Last update: 2024-09-22 02:56:28 UTC
README
用于生成/验证条形码的助手。
安装
composer require thalassa-web/barcode-helper
支持的模式列表
- Code 93
- 字体格式 (EnumBarcode::CODE_93_FONT)
- 二进制格式 (EnumBarcode::CODE_93_BIN)
- EAN 13
- 字体格式 (EnumBarcode::EAN_13_FONT)
- 二进制格式 (EnumBarcode::EAN_13_BIN)
- Code 128
- 字体格式 (EnumBarcode::CODE_128_FONT)
- 二进制格式 (EnumBarcode::CODE_128_BIN)
使用方法
use ThalassaWeb\BarcodeHelper\BarcodeHelper; use ThalassaWeb\BarcodeHelper\EnumBarcode; $code93Bin = BarcodeHelper::getBarcode(EnumBarcode::CODE_93_BIN); $code93Font = BarcodeHelper::getBarcode(EnumBarcode::CODE_93_FONT); // Encodage à destination d'une police de caractères echo $code93Font->encoder("/PT/12AZERTY34");
*/PT/12AZERTY34TM*|
// Encodage à destination de la police générique echo $code93Bin->encoder('/PT/12AZERTY34');
101011110101101110100010110110100110101101110101001000101000100110101000100111010110010010110110010110100110100110110101000010100101000110100110101001100101011110100000000
// Obtention de la clé de contrôle echo $code93Bin->getChecksum('/PT/12AZERTY34');
TM
// Validation des données echo $code93Bin->valider('/PT/12AZERTY34');
1
// Le code 93 n'autorise pas les soulignées «_» echo $code93Bin->valider('/PT/12AZE_RTY34');
0
字体信息
已生成字体以简化使用。
有一个通用字体(GenericBarcode),当条形码以二进制格式编码时可以使用。
也有针对特定符号的字体(TIW_Code93, TIW_EAN13),当条形码以字符串形式编码时可以使用。
TIW_Code93
该字体编码了Code93的有效47个字符,加上起始/停止字符和一个终止字符。
起始/停止由字符“星号”(*)表示。
终止字符由字符“竖线”(|)表示。
当前助手配置为使用此字体。
echo BarcodeHelper::getBarcode(EnumBarcode::CODE_93_FONT)->encoder("/PT/12AZE_RTY34");
TIW_EAN13
该字体编码了EAN13使用的3个子集中10个数字,加上起始/停止字符和一个分隔符。
起始/停止由字符“星号”(*)表示。
分隔符由字符“减号”(-)表示。
当前助手配置为使用此字体。
echo BarcodeHelper::getBarcode(EnumBarcode::EAN_13_FONT)->encoder("123456789012");
TIW_CODE128
该字体编码了Code128使用的103个值,加上3个起始字符(每个子集一个)和一个停止字符。
起始字符包含一个相当于10个空白的静默区域。
停止字符包含一个相当于10个空白的静默区域。
使用了以下组合表:http://www.gomaro.ch/Specifications/code128.htm.
为了防止显示问题,只编码了可显示的字符。
组合表中的值(从0到94,包括)增加了32,以便使用32到126的ASCII码。
从95开始的字符使用以下字符
- ¡ (95)
- ¢ (96)
- £ (97)
- ¤ (98)
- ¥ (99)
- ¦ (100)
- § (101)
- ¨ (102)
- © (103 - A的开始)
- ª (104 - B的开始)
- « (105 - C的开始)
- ¬ (106 - 结束)
当前助手配置为使用此字体。
echo BarcodeHelper::getBarcode(EnumBarcode::CODE_128_FONT)->encoder("/PT/12AZE_RTY34");
GenericBarcode
该字体只编码“0”和“1”字符。
“0”表示一个空白,“1”表示一个条。
要获取“0”和“1”的结果,只需按如下方式使用该类即可
echo BarcodeHelper::getBarcode(EnumBarcode::EAN_13_BIN)->encoder("123456789012"); echo BarcodeHelper::getBarcode(EnumBarcode::CODE_93_BIN)->encoder("/PT/12AZERTY34"); echo BarcodeHelper::getBarcode(EnumBarcode::CODE_128_BIN)->encoder("/PT/12AZE_RTY34");