1、在YII2中使用composer命令安装插件,如果网站根目录没有composer.json文件,或者composer.json文件中记录的插件不包含所有在/vendor/目录下的插件,则在使用composer命令时,composer会将没在文件中记录的插件全部卸载,所以建议在安装插件时,先将/vendor/目录备份一下。
1.1、安装TCPDF使用命令
composer require tecnickcom/tcpdf
2、使用html生成PDF,html代码需要用
$html=<<<EOD
<p>内容p>
EOD;
包裹住,结尾的‘EOD’需要独占一行且在它前面不能有任意字符;它被称为HEREDOCString方法,是使用引号编写多行字符串的替代方法,这样,就不用在多行字符串中用‘\’来转义引号了。
3、使用HTML生成PDF时,在HTML中想要替换的地方插入PHP变量‘{$变量名}’来替换HTML或文本。(防止字符中的变量报错,建议字符串中的变量用{}花括号包住)
4、使用TCPDF类的writeHTML()方法可以使用HTML生成PDF;
$pdf->writeHTML($html1, true, 0, true, 0);
5、在YII2中使用TCPDF需要使用‘引入第三方类库’
6、在pdf中插入图片用:
//参数依次是:图片路径、从页面左上角开始的x、从页面左上角开始的y、图片的宽度、图片的高度、图片的格式、
$pdf->Image($chuzr_gz, 32, 37, 30, 30, '', '', '', false, 300, '', false, false, 1, false, false, false);
图片会覆盖在文字之上。
6.1、图片默认只会在第一页显示,强行设置图片位置到第2页会导致第一页内容被顶下去,如果要将图片设置在第2页或第3页,可以截取第一页的所有HTML,单独调用writeHTML()一次,然后‘$pdf->AddPage();’,
,然后在下一页writeHTML()之前调用Image()放置一张图片。
7、Output方法的case 'I':(打印PDF/输出到浏览器)、case 'D':(下载PDF)、case 'F':(保存到本地文件/在服务器生成), FD保存本地并下载文件。如果要将pdf保存到服务器本地,那么就需要修改一下最后这句,把路径换成绝对路径。
8、不过用HTML转PDF可以试一下wkhtmltopdf软件,‘教程链接’,TCPDF对中文的支持不好,偶尔会出现无法解决的莫名奇妙的换行,而且不方便排版。
0条评论