PHP 生成条形码每页44个
参考:
https://github.com/tecnickcom/TCPDF
下载完成放入vendor 目录
参考例子:
https://tcpdf.org/examples/example_027/
以下例子将会在A4纸张生成每页44个条形码,可以在条码下面自己定义任何文字如made in china,试用于亚马逊FBA发货贴标。
<?php
/*** Created by PhpStorm.* User: Administrator* Date: 2021/2/5* Time: 17:54*/namespace app\common;class Barcode
{/*** 条形码生成* @param $data* @return mixed|null*/public static function create($data){if (!$data) {ApiResponse::error('请输入code');}$pdf = new \TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);$pdf->setPrintHeader(false);$pdf->setPrintFooter(false);$pdf->SetAutoPageBreak(false);//初始化参数$pdf->AddPage();$x = 14; #条码第一个的x坐标$y = 14.6; #条码第一个的Y坐标$t_x = 24;$t_y = 24;$ordinate = $y; #向下偏移量$text_y = $t_y;$num = 0;foreach ($data as $index => $v) {//换页,重置参数if ($index % 44 == 0 && $index > 0) {$pdf->AddPage();$ordinate = $y;$text_y = $t_y;$num = 0;} else {if ($index % 4 == 0 && $index > 0) { #每次换行时偏移量增加值$ordinate += 25;$text_y += 25;$num = 0;}}$pdf->write1DBarcode($v['fnsku'], 'C128', $x + $num * 48.3, $ordinate, 38, 8.5);self::writeText($pdf, $t_x + $num * 48.3, $text_y, $v['fnsku'], $v['goods_name']);$num++;}$file = ROOT_PATH . 'public/uploads/' . createRandomStr(10) . '.pdf';$pdf->Output($file, 'F');$file_name = AliyunUpload::uploadPdf($file, 'barcode/' . createRandomStr(10) . '.pdf');unlink($file);return $file_name;}/*** 写入文字到pdf文件* 字体参考: https://tcpdf.org/docs/fonts/* @param \TCPDF $pdf* @param $x* @param $y* @param $code* @param $goods_name*/private static function writeText(\TCPDF $pdf, $x, $y, $code, $goods_name){$pdf->SetXY($x, $y);$pdf->SetFont('helvetica', '', 7);$pdf->Write(2, $code, '', 0, 'L', true, 0, false, false, 0);$pdf->SetXY($x - 11, $y + 4);$pdf->SetFont('helvetica', '', 6);$pdf->Write(0, self::cut_str($goods_name), '', 0, 'L', true, 0, false, false, 0);$pdf->SetXY($x - 11, $y + 7);$pdf->SetFont('times', '', 8.5);$pdf->Write(0, 'New Made in China ', '', 0, 'L', true, 0, false, false, 0);}/*** @param $str* @param int $begin* @param int $end* @return string*/private static function cut_str($str, $begin = 12, $end = 18){if (strlen($str) < $begin + $end + 3) {return $str;}return mb_substr($str, 0, $begin) . '...' . mb_substr($str, -$end);}
}
生成示例:
可以使用支付宝扫码功能验证,验证合格。
PHP 生成条形码每页44个相关推荐
- 如何用TXT文档数据批量生成条形码
我们在制作商品标签的时候,经常需要根据已有的条码数据来批量生成条形码.这些条码数据一般存储在TXT文档.excel表或者是其他类型数据库中,具体怎么操作呢?我们就以TXT文档做实例,和大家分享一下如何 ...
- 小程序uni-app生成条形码
一.看下效果图 二.废话不多说,直接上代码 1.页面增加存放条形码的标签 <canvas class="bar_code" canvas-id="Brcode&qu ...
- 使用html2canvas实现批量生成条形码
/*前台代码*/ 1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Gener ...
- 前端js html转换成pdf可下载打印;前端js可批量生成条形码;前端js可批量生成二维码,生成letter标签
注意:本文调试的是letter纸尺寸 前端js html转换成pdf可下载打印 html2canvas + jspdf 前端js生成条形码 Options · lindell/JsBarcode ...
- 在线生成条形码的解决方案(39码、EAN-13)
在线生成条形码的解决方案(39码.EAN-13) 在线生成条形码的解决方案(39码.EAN-13) 在线生成条形码的解决方案(39码.EAN-13) 公司有个项目是使用实体刷卡的会员管理系统,并为其它 ...
- 有数字要生成条形码生成器_如何制作自己的“意外”数字生成器
有数字要生成条形码生成器 有时让人们感到惊讶的是,随机数生成是计算机科学中一个经典的著名问题,因为它看起来应该很容易. 只需选择一个数字. 但是,很难使计算机随机化. 许多Linux用户对/dev/r ...
- vue遇到的生成条形码和打印问题的汇总
安装插件 1.条码生成 a.下载插件:npm install jsbarcode --save b.< script >引入插件:import JsBarcode from 'jsbarc ...
- 生成条形码显示到界面
<span style="color: rgb(51, 51, 51); font-family: Arial; font-size: 14px; line-height: 26px; ...
- 如何利用实时日期时间生成条形码
条码软件可以很轻松地批量生成条形码,比如通过数据库批量生成条形码,通过序列号批量生成条形码.其实除了以上方法还可以通过实时的日期时间批量生成条形码,生成的条形码数据就是当前的时间.下面小编会详细介绍具 ...
最新文章
- 每天一道LeetCode-----计算二叉树的最大路径和,路径只需要从一个节点到达另一个节点,无其他要求
- sessionStorage localStorage cookie
- python函数对变量的作用_Python 包、模块、函数、变量作用域
- openstack-o版-nova安装
- python stringvar.get_Python StringVar get函数什么都不返回?
- java数字转为大写_Java 将数字金额转成中文大写
- 第二门课 改善深层神经网络:超参数调试、正则化以及优化(Improving Deep Neural Networks:Hyperparameter tuning…)
- 力扣多线程练习----交替打印FooBar---打印零与奇偶数
- Stm32F4XX开启FPU浮点运算
- html 字体样式引用,CSS3 关于@font-face引用中文字体解决办法
- async.whilst 的一个简化版实现
- Dell Precision M4800 VoodooPS2Controller 键盘/触控驱动修复过程
- Type of the default value for 'songs' prop must be a function
- Linux的zip压缩文件压缩和解压
- 短链接的生成之工具类的编写--三种方式(亲测可用)
- 微信开放平台开发第三方授权登陆(二):PC网页端
- AWS - Auto Scaling 介绍
- Storm(三):Storm入门Demo
- 通过Charmed Ceph 在 H3C UniServer R4950 G5 服务器上 部署独立的Ubuntu Ceph 存储集群
- 程序员需要具备的五个基本条件
热门文章
- vue页面报错: Uncaught ReferenceError: Login is not defined at HTMLButtonElement.onclick
- veracrypt 创建文件型加密卷
- 外网怎么访问公司内网的数据库?
- Java集合类框架总结
- 关于在amazon买书
- 径向基函数网络初认识
- php 集成 spss,〖SPSS Modeler〗 IBM SPSS Modeler 整合不同数据库之间的数据
- 用aux口远程配置路由器
- Linux下 “>/dev/null 2>1 “ 命令学习
- 【论文总结】Prototype Rectification for Few-Shot Learning(附翻译)