如何控制打印时有无水印
1. 问题描述
水印是为防止造假、辨别真伪、版权保护等,而在纸张中加上的图片与文字结合的透明效果,如下图在报表中添加水印:
用户在访问报表的时候不需要看到水印,但打印到纸上时需要显示水印,或者客户打印报表的时候,希望根据自己情况选择打印模板是否带有水印,如第一次打印加水印,第二次打印不加水印,这样的效果怎样实现呢?
2. 解决方案
首先报表水印是通过给模板添加报表背景来实现;
控制打印时有无水印通过做两张模板来实现(一张无水印的模板、一张加水印的模板),根据需要触发不同的打印按钮或打印方法选择需要打印的模板。
3. 示例
3.1 水印报表制作
1)准备水印图片将所需的水印效果制作为图片,如下图:
2)添加报表背景
我们以GettingStarted.cpt为例,打开%FR_HOME%\WebReport\WEB-INF\reportlets\GettingStarted.cpt,该报表没有水印。
点击模板>纸张背景>图片,选择设计好的水印图片,选择布局方式,如下图:
水印效果如上图,另存为模板,如保存路径为%FR_HOME%\WebReport\WEB-INF\reportlets\Watermark.cpt。
3.2 添加自定义按钮触发打印水印报表
打开原GettingStarted模板,点击模板>模板web属性>分页预览设置,选择自定义按钮,双击工具栏上的自定义按钮(或者选中按钮,点击设置图标),进入编辑界面,给自定义按钮设置控件别名为“水印打印”。如下图:
,勾选 ,双击按钮框中的自定义按钮(或者选中自定义按钮,点击向上箭头),则工具栏上就会显示点击自定义JaveScript,在弹出对话框JaveScript脚本中输入打印事件如下,打印之前做好的水印报表Watermark.cpt:
FR.doURLPDFPrint("http://localhost:8075/WebReport/ReportServer?reportlet=Watermark.cpt");
这时就可以实现,点击报表工具栏本身的打印按钮,则打印出来的是不带有水印的,点击水印按钮时则实现打印水印报表了。
该自定义打印是通过PDF打印,其他打印方式可参考文档不预览模板直接打印里面几种打印方法的接口。
附件列表
主题: 专题总结
标签:
已验证