15年软件开发经验 只做源码定制 互联网+定制化解决方案

15年软件开发经验,只做源码定制!

原创设计 定制开发

满足您的个性化需求

当前位置:首页 后端开发 Thinkphp5

php使用TCPDF生成PDF文件,补充

李石超| 发布于 2022-04-20 09:43:19| 351阅读| 0点赞| 0评论
举报

php框架YII2使用TCPDF生成PDF文件,对此文章https://qinfenniao.com/article/details/758以及网络上TCPDF相关文章的补充

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

0条评论

别默默看啦~登录/注册一起参与讨论吧~

热门标签

李石超
微信扫一扫立即咨询
账号登录|扫码登录

立即注册 |忘记密码?

欢迎注册

已有账号马上登录

重置密码

扫码绑定微信
微信扫一扫

绑定手机号

分享到-微信

举报

  • 举报类型:

  • 举报描述:

您好,当前积分不足。

在线客服
拨打电话
17330196230 13230981129
顶部