使用window.print()打印
<!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type"content="text/html; charset=UTF-8"/>
<style type="text/css"media="print">
function print(id)
{
if (confirm('确定打印吗?')) {
var newstr = document.all.item(id).innerHTML;
printWindow = window.open();
printWindow.document.write(newstr);
printWindow.print();
return false;
}
}
</style>
</head>
<body>
<img id="img" src="image.jpg" style="width:100%"/>
<input type="button" text="打印" onclick="print(img)"/>
</body>
- 优点
1.通过简单的代码就能调用打印机
2.可以打印网页中任何内容 - 缺点
- 不能调整打印参数,导致打印出来的东西不美观。
调用浏览器本身打印插件
需要自己构建打印模板,即通过自定义一个网页模板做成需要的打印单,然后使用浏览器自带的打印功能打印整个页面也就能达到预期的效果。
- 优点
页面格式整齐,有一定的自定义功能,并且实现简单开发成本较低。 - 缺点
一个页面只能对应一张打印单,而且不能很好的控制分页,页面格式等相关参数,属于一种特殊的前端打印。
使用PDF文件进行打印
由于前端浏览器对PDF浏览和打印支持比较完善,所以可以将需要打印的数据封装到PDF文件中,并且java操作PDF文件页相对完善,故可以使用PDF的方式。
使用插件进行打印
可采用的java打印插件
- FineReport
- 润乾
- ActiveReports 报表控件