html转pdf(php)

一.需求

最近接到一个需求,该需求为:批量导出推荐表导出需为PDF格式,且只能有2页。

二.实现

1.曲折的过程

​ 1)百度、谷歌搜了许多相关的材料,发现对php中html转pdf的资料非常少。但是啦,黄天不符有心人,最终还是找的了一份勉强看得懂的。(链接:https://www.cnblogs.com/zx-admin/p/6801978.html

​ 2)将TCPDF代码下载到本地

​ [图片上传失败...(image-63bb22-1604636933694)]
.png)

​ 3)使用examples的例子(我这里使用的是第一个例子)

image-20201028162349855.png

4)根据导出模板写了一个html文件,代码和效果如下




    
    
    
    Document



111届毕业生就业推荐表
姓名 田* 性别 民族
专业 网络技术 学历 大专 学制 3
出生
日期
1996*** 健康
状况
良好 身高 170
身份证
号码
513433 籍贯 四川冕宁
计算机
等级
二级 外语
等级
4 邮箱 [email protected]
本人
电话
151 家庭
电话
191 家庭
住址
四川
在校担
任职务
测试职位 特长



自我总结111








获奖








在校基本情况111

班主任签字:                      年     月     日
系 部 推 荐 意 见

学 院 推 荐 意 见

签    章          

年       月       日

签    章          

年       月       日

image-20201028163736175.png

5)根据这个html,将example_001.php的得代码进行更改(不用它定义的常量),代码和效果如下:

SetCreator('TCPDF');
$pdf->setPrintFooter(false);
$pdf->setPrintHeader(false);
$pdf->SetDefaultMonospacedFont('courier');
$pdf->SetDefaultMonospacedFont('courier');
$pdf->SetMargins(15, 15, 15);
$pdf->SetHeaderMargin(0);
$pdf->SetFooterMargin(0);
$pdf->SetAutoPageBreak(true, 25);
$pdf->setImageScale(1.25);
$pdf->setFontSubsetting(false);
$pdf->SetFont('stsongstdlight', '', 10);
$pdf->AddPage();
$pdf->setTextShadow(array('enabled' => false, 'depth_w' => 0.2, 'depth_h' => 0.2, 'color' => array(196, 196, 196), 'opacity' => 1, 'blend_mode' => 'Normal'));
$html = '
111届毕业生就业推荐表
姓名 田* 性别 民族
专业 网络技术 学历 大专 学制 3
出生
日期
1996.6 健康
状况
良好 身高 170
身份证
号码
513433 籍贯 四川
计算机
等级
二级 外语
等级
4 邮箱 [email protected]
本人
电话
151 家庭
电话
191 家庭
住址
四川
在校担
任职务
测试职位 特长



自我总结111








获奖








在校基本情况111

班主任签字:                      年     月     日
系 部 推 荐 意 见

学 院 推 荐 意 见

签    章          

年       月       日

签    章          

年       月       日

'; $pdf->writeHTMLCell(0, 0, '', '', $html, 0, 0, 0, false, 'center', true); $res = $pdf->Output('example_065.pdf', 'S'); file_put_contents('./bb.pdf', $res);

效果:

image-20201106115157307.png

6)把生成的效果给领导

2.领导过目

1)把html模板给我发一份,给了,不知道他通过什么生成了pdf文档。

2)然后给我发了一份生成的pdf文件,说跟你发给我的不一样,我说就是通过这个模板生成的呀。

3)我估计领导百度看了一下(他是懂技术的哦),发现php通过html生成pdf的教程非常少。

4)最后说,不用改了,测一下原来的(说明一下,原来的是通过word模板生成word文件)。

3.结论

以后如果有领导让你生成pdf文件(技术栈:php),你可以婉转的拒绝。

最后希望我的博客能帮助到大家。

你可能感兴趣的:(html转pdf(php))