js实现pdf打印功能的主要思想是,需要一个pdf模板图片作为背景图,然后采用拼内容的方式,将文字拼接到页面中,打印页面内容即可,需要注意的是pdf 背景尺寸。
一、Html中的打印按钮,可以是a标签也可以是其他标签
<input class="tab" id="toPrint" onclick="printTure()" ; value="打印" type="button">
二、在js中编写printTrue()方法
function printTure() { //将打印按钮隐藏,防止打印出按钮$("#toPrint").hide(); //打印函数 window.print();
}
三、拼值在html中设置一个table,这里只是拼接了一行内容,如果要多行展示,再添加表格中的行和列就行了,就是将表格去掉边框,将文字调整到背景图的空格处,就可以在页面中展示出来进行打印。
<table width="100%" height="1050px" border="0" cellpadding="0" cellspacing="0"><tr height="10px" style="line-height: 10px;"><td></td></tr><tr height="1050px"><td align="center"><!-- 给table表添加一个背景图片,为成绩单的图片,无姓名和成绩的 --><table width="760px" height="1050px" border="0" cellpadding="0" cellspacing="0" style="background: url('/thty/resource/register/images/thtyshksPrint.jpg') no-repeat;"><tr height="320px"><td> </td></tr><tr height="28px" width="740px"><td width="450px" colspan="3" align="left" style="padding-left: 120px;text-align: unset;"><span style="font-size: 20px; font-family: '宋体'; font-weight: bold;">姓名</span></td><td width="250px" align="left" style=""><span style="font-size: 20px; font-family: '宋体'; font-weight: bold;">分数</span></td></tr><tr height="350px"><td> </td></tr></table></td></tr>
</table>
拼接出来的效果如下,之后会再写出一个后台代码动态生成pdf,并且保存到本地电脑中的功能,跟打印一起是一个完整的功能。