/**
* private 私有方法
* @string $public_code 用于生成二维码
**/
private function cc($public_code,$upc){ //生成二维码PDF
$this->public_code = $public_code; //此参数用于生成二维码
$this->upc = $upc; //此参数为二维码下方数字
$pdf = new TCPDF("P","mm",array(30,30)); //实例化一个30*30mm大小的pdf
$pdf->SetAutoPageBreak(FALSE,PDF_MARGIN_BOTTOM); //是否开启自动分页功能
$pdf->setPrintHeader(false);
$pdf->addPage(); //添加pdf页
$pdf->SetFont('helvetica','',7.5); //设置页面字体和字体大小
$style = array( //这个样式用于控制二维码样式,
// ‘position’ => ‘’,
// ‘align’ => ‘C’,
// ‘cellfitalign’ => ‘’,
// ‘border’ => false,//边框
// ‘fgcolor’ => array(102,102,102),
‘bgcolor’ => false,//array(255,255,255),
// ‘text’ => false,//是否显示条码下方文字
// ‘font’ => ‘helvetica’,//字体
// ‘fontsize’ => 6,//字体大小
// ‘stretchtext’ => 6
);
// $pdf->SetMargins(15,27,15);
//
// $pdf->SetHeaderMargin(5);
// $pdf->SetFooterMargin(10);
$pdf->Image('D:888.png',1,4.5,6,'PNG',true,1200,false,false); //引入外部图片到PDF
$pdf->Text(6,4,'Scan with your'); //写文本
$pdf->Text(6,6.5,'Transparency app');
$pdf->write2DBarcode($this->public_code,'DATAMATRIX',7.5,10.5,16,$style,'N'); //写二维码 编码格式 起始位置x.y 图片宽高w,h
$pdf->SetFont('helvetica',7);
$pdf->Text(6.3,27.5,$this->upc);
$pdf->Output('saa' . ".pdf",'I'); //D下载 I展示 //输出
}
效果:
1.laravel安装tcpdf
composer require tecnickcom/tcpdf
2.controller文件引入
use TCPDF;
$pdf->Output(‘saa’ . “.pdf”,‘I’); //D下载 I展示 //输出
也就是这里选择I和D的打印效果不一样,打印机完全按照下载下来的打印,但是不完全按照网页输出的效果打印。
坑2:左上角图片清晰度不够
解决办法:1.下载打印机官方配置工具,调整打印浓度,冷天可以将‘加热表微调’选项数值调大。