thinkPHP框架实现生成条形码的方法示例

时间:2022-09-18 22:27:27

本文实例讲述了thinkPHP框架实现生成条形码的方法。分享给大家供大家参考,具体如下:

在做之前我们先下载barcode类,想下载该类可以点击此处本站下载

我们在后台写一个方法代码如下:

//生成条形码
public function barcode(){
  import('@.ORG.Util.barcode.BCGFontFile');//字体类
  import('@.ORG.Util.barcode.BCGColor');//字体颜色类
  import('@.ORG.Util.barcode.BCGDrawing');
  import('@.ORG.Util.barcode.BCGcode39');
  $text = $_GET['text'];
  $texts = isset($text)?$text:'00000000000';
  $color_black = new \BCGColor(0,0,0);
  $color_white = new \BCGColor(255,255,255);
  $drawException = null;
  try {
    $code = new \BCGcode39();
    $code->setScale(2);
    $code->setThickness(30);
    $code->setForegroundColor($color_black);
    $code->setBackgroundColor($color_white);
    $code->parse($texts);
  } catch(Exception $exception) {
    $drawException = $exception;
  }
  $drawing = new \BCGDrawing('', $color_white);
  if($drawException) {
    $drawing->drawException($drawException);
  } else {
    $drawing->setBarcode($code);
    $drawing->draw();
  }
  header('Content-Type: image/png');
  header('Content-Disposition: inline; filename="barcode.png"');
  $drawing->finish(\BCGDrawing::IMG_FORMAT_PNG);
}

在前台直接调用:

<img src="{:U('ContractCommonApply/barcode')}/text/{$res[0]['ContractCode']}" style="margin: 0px; padding: 0px; outline: none; line-height: 25.2px; font-size: 14px; width: 660px; overflow: hidden; clear: both; font-family: tahoma, arial, "Microsoft YaHei";">
	
<script type="text/javascript" language="JavaScript">
  document.writeln("<img src=/目录/test_1D.php?text=内容 />");
</script>

 

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。