title: 流程打印模版水印解决方案 created: 2026-04-19 updated: 2026-04-19 type: solution tags: [jsp, print, watermark]
流程打印模版添加水印
场景: 在 OA 流程打印页面叠加“仅限内部使用”或用户名的水印。
1. 后端实现 (JSP)
我们需要编写一个 JSP 页面来获取当前用户信息(用户名、部门),供前端打印模版调用。
<%@ page language="java" contentType="text/html; charset=utf-8" %>
<%@ page import="weaver.general.Util" %>
<%@page import="net.sf.json.JSONObject"%>
<jsp:useBean id="ResourceComInfo" class="weaver.hrm.resource.ResourceComInfo" scope="page" />
<jsp:useBean id="DepartmentComInfo" class="weaver.hrm.company.DepartmentComInfo" scope="page" />
<%
String userid= Util.null2String(request.getParameter("userid"));
String username = ResourceComInfo.getLastname(userid);
String depname = DepartmentComInfo.getDepartmentName(ResourceComInfo.getDepartmentID(userid));
JSONObject jsonObject=new JSONObject();
jsonObject.put("username", username);
jsonObject.put("depname", depname);
out.clear();
out.print(jsonObject.toString());
%>
2. 前端/模版配置
根据提取的教程文档,主要步骤如下:
1. 将 JSP 放入服务器指定目录(通常是 ecology 根目录或 custom 文件夹)。
2. 在流程表单的打印模版 HTML 中,引入该 JSP 获取信息。
3. 使用 CSS position: absolute 和 opacity 实现半透明水印层覆盖。
stom 文件夹)。
2. 在流程表单的打印模版 HTML 中,引入该 JSP 获取信息。
3. 使用 CSS position: absolute 和 opacity 实现半透明水印层覆盖。### 📖 原始教程内容
文档:шбихНХц╖╗хКац░┤хН░цХИцЮЬ.docx
多列水印
单列水印
oTemp.appendChild(mask_div);
};
};
document.body.appendChild(oTemp);
} 文档:ц│Ых╛оцЬАф╜│х║ФчФия╝Ъц╡БчиЛцЙУхН░цибчЙИц╖╗хКац░┤хН░.docx 流程打印添加水印场景分享 第一部分:需求说明 客户是一家国有企业,部分流程如:财务、文控等需要严控,流程打印时候需要添加水印,具体需求如下: 归档节点方可打印; 水印只有在打印的时候才呈现; 水印的内容包括公司标识、当前人员、时间等。 第二部分:需求实现 根据上述需求,我们在网络上查找了对应的实现案例,将对应的JS代码修改后,并增加获取当前信息的JSP页面,将JS插入表单打印模版。 相关JS及引用的JSP 1、插入JS代码 2、非归档节点打印 3、归档节点打印