laravel TCPDF PDF生成
/** * private 私有方法 * 生成带二维码的PDF * @string $public_code 用于生成二维码 * @string $upc 用于生成二维码下方数字 **/ 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; 坑1:网页输出的效果和下载之后用PDF文件打开的效果不一样 $pdf->Output(‘saa’ . “.pdf”,‘I’); //D下载 I展示 //输出 也就是这里选择I和D的打印效果不一样,打印机完全按照下载下来的打印,但是不完全按照网页输出的效果打印。 坑2:左上角图片清晰度不够 解决办法:1.下载打印机官方配置工具,调整打印浓度,冷天可以将‘加热表微调’选项数值调大。 2.图片采用黑白,增加图片清晰度。(彩色图片转码会失真) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |