热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

php生成条形码打印

***128条形码*@param$content*@param$path*@param$scale*@param$thickness*@throws\BCGDrawExceptio

/**
* 128 条形码
* @param $content
* @param $path
* @param $scale
* @param $thickness
* @throws \BCGDrawException
*/
public function create_barcode2($content,$path,$scale,$thickness){
//根据运单号生成条形码
$color_black = new \BCGColor(0, 0, 0);
$color_white = new \BCGColor(255, 255, 255);
$drawException = null;
try
{
$code = new \BCGcode128();
$code->setScale($scale);
$code->setThickness($thickness); // 条形码的厚度
$code->setForegroundColor($color_black); // 条形码颜色
$code->setBackgroundColor($color_white); // 空白间隙颜色
// $code->setFont($font); //
$code->parse($content); // 条形码需要的数据内容
}
catch(\Exception $exception)
{
$drawException = $exception;
}
//根据以上条件绘制条形码
$drawing = new \BCGDrawing($path, $color_white);
if($drawException) {
$drawing->drawException($drawException);
}else{
$drawing->setBarcode($code);
$drawing->draw();
}
// 生成PNG格式的图片
header('Content-Type: image/jpeg');
// header('Content-Disposition:attachment; filename="barcode.png"'); //自动下载
$drawing->finish(\BCGDrawing::IMG_FORMAT_JPEG);
//$path = $this->create_barcode($content['yundanhao']);
}
public function print_label_code1(){
$id = $this->request->get('id');
$into_store_goods =Db::table('wh_into_store_goods')->where('id',$id)->find();
$im = imagecreatetruecolor(600,180); // 设置画布/
$fOnt= EXTEND_PATH.'/CreateImg/hanwenziti/fangzhengheiti.ttf';
$bgColor = imagecolorallocate($im, 255, 255, 255); // 颜色
imagefill($im,0,0,$bgColor);
$blacka = imagecolorallocate($im, 0, 0, 0); // 颜色
$path1 = ROOT_PATH .'/public/uploads/images/'.create_guid().'no_1.jpg';
$this->create_barcode2($into_store_goods['label_code'],$path1,2,25);
$src_img1 = imagecreatefromjpeg($path1);
$src_w1 = imagesx($src_img1);
$src_h1 = imagesy($src_img1);
$image1 = file_get_contents($path1);
$images1 = substr_replace($image1,pack("Cnn",0x01,300,300),13,5);
file_put_contents($path1,$images1);
imagecopy($im,$src_img1,80,110,0,0,$src_w1,$src_h1);
$path2 = ROOT_PATH .'/public/uploads/images/'.create_guid().'no_2.jpg';
$this->create_barcode2( str_replace(' ', '',$into_store_goods['sku_code']),$path2,1,50);
$src_img2 = imagecreatefromjpeg($path2);
$src_w2 = imagesx($src_img2);
$src_h2 = imagesy($src_img2);
$image2 = file_get_contents($path2);
$images2 = substr_replace($image2,pack("Cnn",0x01,300,300),13,5);
file_put_contents($path2,$images2);
imagecopy($im,$src_img2,80,20,0,0,$src_w2,$src_h2);
$path44 = '/uploads/images/'.create_guid().'no_4.jpg';
$path4 = ROOT_PATH .'/public'.$path44;
imagejpeg($im, $path4);
$image4 = file_get_contents($path4);
$images4 = substr_replace($image4,pack("Cnn",0x01,300,300),13,5);
file_put_contents($path4,$images4);
imagedestroy($im); // 销毁图片
unlink($path1);
unlink($path2);
$this->assign("path",$path44);
$this->view->engine->layout(false);
return $this->fetch("img_large_no");
}















推荐阅读
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 解决VS写C#项目导入MySQL数据源报错“You have a usable connection already”问题的正确方法
    本文介绍了在VS写C#项目导入MySQL数据源时出现报错“You have a usable connection already”的问题,并给出了正确的解决方法。详细描述了问题的出现情况和报错信息,并提供了解决该问题的步骤和注意事项。 ... [详细]
  • 本文详细介绍了MySQL表分区的创建、增加和删除方法,包括查看分区数据量和全库数据量的方法。欢迎大家阅读并给予点评。 ... [详细]
  • 本文介绍了机器学习手册中关于日期和时区操作的重要性以及其在实际应用中的作用。文章以一个故事为背景,描述了学童们面对老先生的教导时的反应,以及上官如在这个过程中的表现。同时,文章也提到了顾慎为对上官如的恨意以及他们之间的矛盾源于早年的结局。最后,文章强调了日期和时区操作在机器学习中的重要性,并指出了其在实际应用中的作用和意义。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 在springmvc框架中,前台ajax调用方法,对图片批量下载,如何弹出提示保存位置选框?Controller方法 ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • ScrollView嵌套Collectionview无痕衔接四向滚动,支持自定义TitleView
    本文介绍了如何实现ScrollView嵌套Collectionview无痕衔接四向滚动,并支持自定义TitleView。通过使用MainScrollView作为最底层,headView作为上部分,TitleView作为中间部分,Collectionview作为下面部分,实现了滚动效果。同时还介绍了使用runtime拦截_notifyDidScroll方法来实现滚动代理的方法。具体实现代码可以在github地址中找到。 ... [详细]
  • IOS开发之短信发送与拨打电话的方法详解
    本文详细介绍了在IOS开发中实现短信发送和拨打电话的两种方式,一种是使用系统底层发送,虽然无法自定义短信内容和返回原应用,但是简单方便;另一种是使用第三方框架发送,需要导入MessageUI头文件,并遵守MFMessageComposeViewControllerDelegate协议,可以实现自定义短信内容和返回原应用的功能。 ... [详细]
  • 欢乐的票圈重构之旅——RecyclerView的头尾布局增加
    项目重构的Git地址:https:github.comrazerdpFriendCircletreemain-dev项目同步更新的文集:http:www.jianshu.comno ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
  • 本文介绍了如何使用PHP代码将表格导出为UTF8格式的Excel文件。首先,需要连接到数据库并获取表格的列名。然后,设置文件名和文件指针,并将内容写入文件。最后,设置响应头部,将文件作为附件下载。 ... [详细]
  • 超级简单加解密工具的方案和功能
    本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ... [详细]
  • Gitlab接入公司内部单点登录的安装和配置教程
    本文介绍了如何将公司内部的Gitlab系统接入单点登录服务,并提供了安装和配置的详细教程。通过使用oauth2协议,将原有的各子系统的独立登录统一迁移至单点登录。文章包括Gitlab的安装环境、版本号、编辑配置文件的步骤,并解决了在迁移过程中可能遇到的问题。 ... [详细]
author-avatar
瑞铭与我_109
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有