js 调用window.print()方法打印

目的:打印功能实现,添加水印

步骤:

    1.写好jsp页面

    2.写打印方法

        即window.print()打印当前页面,如果只想打印部分页面的话,可以截取该部分赋值给body即可

    3.调用打印方法即可

遇到的问题:水印无法打印

    刚开始将水印图片赋值给背景图片,即background-image。但是一直无法打印,网上搜了一些人的方案,都无法实现

    1.第一个说勾选打印背景图片即可

js 调用window.print()方法打印_第1张图片

结果无效。

    2.第二个方法是说可能图片未加载出来即调用了打印方法,会导致无法打印出图片

        验证方法:我将打印方法手动调用,打印方法改为全局打印(PS:害怕给body赋值的话导致需要重新加载图片),等确认好有图片的时候按下打印方法,结果无效

  3.给样式添加@media

    @media print{#Pay{background-image:url}} 同样无法打印图片

  解决方法:既然无法打印,我就将图片放到img中,利用绝对定位将其放置在需要打印的div上

  结果:实现了打印功能

  备注:通往成功的路不止一条,该换的时候还是要换的。

jsp部分



	
付款申请表
应付款情况说明:${pay.notes }
合同名称 ${pay.reason } 合同编号 ${pay.projectNum }
合同总金额(元) 合同签署时间
本次应付款金额 本次最晚付款时间
申请人 ${pay.createBy.name} 申请日期
审批人职位 审批人 审批时间 审批意见
${hlist.name} ${hlist.assignee} ${fn:substring(hlist.endTime,0,19)} ${hlist.message}

js部分

打印效果

js 调用window.print()方法打印_第2张图片

你可能感兴趣的:(前端,打印,水印打印)