之前有个项目需要用到网页的批量打印,可是一般的网页都只能靠调用浏览器自带的打印功能来实现,起初,我尝试每打印一张纸自动关闭打印预览的那个页面,可是失败了,经过各种百度以后,发现网上的资料大多数倾向于使用浏览器插件,然而大多数跨浏览器插件都收费,所以自己就一直瞎折腾,最后搞出了这样一个方法,测试后发现几乎所有火狐,谷歌,ie8,uc,遨游上能正常使用,就用上项目了(斗胆来此分享一下,也希望高手来指正)
我的思路是这样的,做一个A4纸大小的div,然后把它作为一个打印最小单位,也就是要打印的东西都往里面放,超出的放下一个div,少的也不补上,(这个地方需要各位自己把控),这样子的结果就是当页面中有多个div时,打印阅览时,浏览器会按照每个div为一页A4纸来分页,关于怎么做出一个A4纸大小的div,请参考下面这篇文章,http://codego.net/581358/,不过这里的源码有问题,并不能兼容多个浏览器,我修改了一下,demo我会放到文章底部,其实代码很简单,各位肯定看的懂,就不详细解释了。
源码地址在文末,index.html为批量打印demo,test.html为普通打印的demo,test_hidden.html为静默打印demo。
由于CSDN的定价策略,demo积分莫名其妙高达30多分,还不让手动改,因此上传到了github上,地址如下:
https://github.com/wlmnzf/Print_Free.git
为了让之前下载过的用户继续下载,原资源没有删掉,如果有积分大佬,或者VIP用户也可以下载下面CSDN资源支持一下,谢谢
demo地址:http://download.csdn.net/detail/wlmnzf/8955237