历史版本9 :如何控制打印时有无水印 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 描述编辑

水印是为防止造假、辨别真伪、版权保护等,而在纸张中加上的图片与文字结合的透明效果,如下图在报表中添加水印:

222

用户在访问报表的时候不需要看到水印,但打印到纸上时需要显示水印,或者客户打印报表的时候,希望根据自己情况选择打印模板是否带有水印,如第一次打印加水印,第二次打印不加水印,这样的效果怎样实现呢?

2. 解决方案编辑

首先报表水印是通过给模板添加报表背景来实现;

控制打印时有无水印通过做两张模板来实现(一张无水印的模板、一张加水印的模板),根据需要触发不同的打印按钮或打印方法选择需要打印的模板。

3. 示例编辑

3.1 水印报表制作

1)准备水印图片

将所需的水印效果制作为图片,如下图:

2)添加报表背景

我们以 GettingStarted.cpt 为例,打开%FR_HOME%\webapps\webroot\WEB-INF\reportlets\GettingStarted.cpt,该报表没有水印。

点击模板>纸张背景>图片,选择设计好的水印图片,选择布局方式,如下图:

222

水印效果如上图,另存为模板,如保存路径为%FR_HOME%\webapps\webroot\WEB-INF\reportlets\Watermark.cpt

3.2 添加自定义按钮触发打印水印报表

打开原 GettingStarted 模板,点击模板>模板 Web 属性>分页预览设置,选择为该模板单独设置,勾选使用工具栏,双击按钮框中的自定义按钮(或者选中自定义按钮,点击向上箭头),则工具栏上就会显示自定义按钮,双击工具栏上的自定义按钮(或者选中按钮,点击设置图标),进入编辑界面,给自定义按钮设置控件别名为“水印打印”。如下图:

222

点击自定义 JaveScript,在弹出对话框 JaveScript 脚本中输入打印事件如下,打印之前做好的水印报表 Watermark.cpt:

FR.doURLPDFPrint("http://localhost:8075/webroot/decision/view/report?viewlet=Watermark.cpt");

这时就可以实现,点击报表工具栏本身的打印按钮,则打印出来的是不带有水印的,点击水印按钮时则实现打印水印报表了。

222

该自定义打印是通过 PDF 打印,其他打印方式可参考文档 不预览模板直接打印 里面几种打印方法的接口。


4. 移动端编辑

移动端不支持各种打印和导出方式