文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

php如何生成不同的条形码

2023-07-04 12:33

关注

本篇内容介绍了“php如何生成不同的条形码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

php生成不同的条形码的方法:1、通过“composer require codeitnowin/barcode”语句安装所需的代码库;2、将数据流文件写入创建的文件内容中;3、输出图片文件即可。

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码有很多的相近性,都广泛运用在企业内部管理、生产流程、物流控制系统方面。不同的在于Code 128比Code 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。

Bookland,ISSN,ISSN可能支持数字以外的其它字符,本中间件支持请参考“关于Bookland(ISBN)和ISSN”部分的说明。

Code11 支持的范围为0`9数字字符及‘-’,长度理论上没有限制。

Codabar支持的范围为0`9数字字符及‘A’,‘B’,‘C’,‘D’,‘-’,‘.’,‘/’,‘:’,‘+’,‘$’,开始和结尾字符必须是‘A’,‘B’,‘C’,‘D’中的字符,长度理论上没有限制。

MSI,Code 2of5 支持的范围为0`9数字字符,长度理论上没有限制。

PostNet支持的范围为0`9数字字符,长度为5位,9位,或者11位,本开发包支持带有非数字的格式,如12345-8012,使用更方便。

Matrix 25 (矩阵25码) 支持的范围为0`9数字字符,长度为13位。

安装所需的代码库

composer require codeitnowin/barcode

相关代码(具体展示在后面)

<?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 '<p>Example - QrCode</p>';        $qrCode = new QrCode();        $qrCode            ->setText('https://www.php.net/manual/zh/')            ->setSize(300)            ->setPadding(10)            ->setErrorCorrection('high')            ->setForegroundColor(array('r' => 0, 'g' => 0, 'b' => 0, 'a' => 0))            ->setBackgroundColor(array('r' => 255, 'g' => 255, 'b' => 255, 'a' => 0))            ->setLabel('https://www.php.net/')            ->setLabelFontSize(16)            ->setImageType(QrCode::IMAGE_TYPE_PNG);        echo '<img src="data:' . $qrCode->getContentType() . ';base64,' . $qrCode->generate() . '" />';         echo '<hr>';        echo '<p>Example - Code128</p>';        $barcode = new BarcodeGenerator();        $barcode->setText("0123456789");        $barcode->setType(BarcodeGenerator::Code128);        $barcode->setScale(2);        $barcode->setThickness(25);        $barcode->setFontSize(10);        $code = $barcode->generate();        echo '<img src="https://img-blog.csdnimg.cn/2022010611514192897.png' . $code . '" />';         echo '<hr>';        echo '<p>Example - Code11</p>';        $barcode = new BarcodeGenerator();        $barcode->setText("0123456789");        $barcode->setType(BarcodeGenerator::Code11);        $code = $barcode->generate();        echo '<img src="https://img-blog.csdnimg.cn/2022010611514192897.png' . $code . '" />';         echo '<hr>';        echo '<p>Example - Code39</p>';        $barcode = new BarcodeGenerator();        $barcode->setText("0123456789");        $barcode->setType(BarcodeGenerator::Code39);        $code = $barcode->generate();        echo '<img src="https://img-blog.csdnimg.cn/2022010611514192897.png' . $code . '" />';         echo '<hr>';        echo '<p>Example - Code39Extended</p>';        $barcode = new BarcodeGenerator();        $barcode->setText("0123456789");        $barcode->setType(BarcodeGenerator::Code39Extended);        $code = $barcode->generate();        echo '<img src="https://img-blog.csdnimg.cn/2022010611514192897.png' . $code . '" />';         echo '<hr>';        echo '<p>Example - Ean128</p>';        $barcode = new BarcodeGenerator();        $barcode->setText("00123456789012345675");        $barcode->setType(BarcodeGenerator::Ean128);        $code = $barcode->generate();        echo '<img src="https://img-blog.csdnimg.cn/2022010611514192897.png' . $code . '" />';         echo '<hr>';        echo '<p>Example - Gs1128</p>';        $barcode = new BarcodeGenerator();        $barcode->setText("00123456789012345675");        $barcode->setType(BarcodeGenerator::Gs1128);        $code = $barcode->generate();        echo '<img src="https://img-blog.csdnimg.cn/2022010611514192897.png' . $code . '" />';         echo '<hr>';        echo '<p>Example - Gs1128</p>';        $barcode = new BarcodeGenerator();        $barcode->setText("4157707266014651802001012603068039000000006377069620171215");        $barcode->setType(BarcodeGenerator::Gs1128);        $barcode->setNoLengthLimit(true);        $barcode->setAllowsUnknownIdentifier(true);        $code = $barcode->generate();        echo '<img src="https://img-blog.csdnimg.cn/2022010611514192897.png' . $code . '" />';         echo '<hr>';        echo '<p>Example - I25</p>';        $barcode = new BarcodeGenerator();        $barcode->setText("00123456789012345675");        $barcode->setType(BarcodeGenerator::I25);        $code = $barcode->generate();        echo '<img src="https://img-blog.csdnimg.cn/2022010611514192897.png' . $code . '" />';         echo '<hr>';        echo '<p>Example - Isbn</p>';        $barcode = new BarcodeGenerator();        $barcode->setText("0012345678901");        $barcode->setType(BarcodeGenerator::Isbn);        $code = $barcode->generate();        echo '<img src="https://img-blog.csdnimg.cn/2022010611514192897.png' . $code . '" />';         echo '<hr>';        echo '<p>Example - Msi</p>';        $barcode = new BarcodeGenerator();        $barcode->setText("0012345678901");        $barcode->setType(BarcodeGenerator::Msi);        $code = $barcode->generate();        echo '<img src="https://img-blog.csdnimg.cn/2022010611514192897.png' . $code . '" />';         echo '<hr>';        echo '<p>Example - Postnet</p>';        $barcode = new BarcodeGenerator();        $barcode->setText("01234567890");        $barcode->setType(BarcodeGenerator::Postnet);        $code = $barcode->generate();        echo '<img src="https://img-blog.csdnimg.cn/2022010611514192897.png' . $code . '" />';         echo '<hr>';        echo '<p>Example - S25</p>';        $barcode = new BarcodeGenerator();        $barcode->setText("012345678901");        $barcode->setType(BarcodeGenerator::S25);        $code = $barcode->generate();        echo '<img src="https://img-blog.csdnimg.cn/2022010611514192897.png' . $code . '" />';         echo '<hr>';        echo '<p>Example - Upca</p>';        $barcode = new BarcodeGenerator();        $barcode->setText("012345678901");        $barcode->setType(BarcodeGenerator::Upca);        $code = $barcode->generate();        echo '<img src="https://img-blog.csdnimg.cn/2022010611514192897.png' . $code . '" />';         echo '<hr>';        echo '<p>Example - Upce</p>';        $barcode = new BarcodeGenerator();        $barcode->setText("012345");        $barcode->setType(BarcodeGenerator::Upce);        $code = $barcode->generate();        echo '<img src="https://img-blog.csdnimg.cn/2022010611514192897.png' . $code . '" />';     }}

php如何生成不同的条形码

base64格式的图片数据如何转成图片

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

“php如何生成不同的条形码”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯