程序员在开发项目时,经常需要给一些图片、文件添加水印,但往往代码编写复杂,只能是先将文件上传再调用Graphics类才能实现这一功能。但是最无奈的是这个类只能给图片添加水印,而无法通过程序给Word文件添加水印,那如何实现这一功能呢,下面我就来和大家分享一下一种简单的实现方法吧。
第一步:拷贝文件到WEB项目的“WEB-INF/lib”目录下。拷贝PageOffice示例中下的“WEB-INF/lib”路径中的pageoffice.cab和pageoffice.jar到新建项目的“WEB-INF/lib”目录下。
第二步:修改WEB项目的配置文件。将如下代码添加到配置文件中:
poservercom.zhuozhengsoft.pageoffice.poserver.Server
poserver
/poserver.do
poserver
/pageoffice.cab
poserver
/popdf.cab
poserver
/sealsetup.exe
adminseal
com.zhuozhengsoft.pageoffice.poserver.AdminSeal
adminseal
/adminseal.do
adminseal
/loginseal.do
adminseal
/sealimage.do
mht
message/rfc822
adminseal-password
123456
第三步:添加引用。在WEB项目的WebRoot目录下添加动态页面AddWaterMark.jsp。在该页面后台代码中
添加自定义标签库:“”引入PageOffice类库:“”。
在HTML页面的
中添加PageOffice引用:“”,并设置控件所在层(第四步:编写打开文件的代码。在AddWaterMark.jsp的后台页面,利用PageOfficeCtrl控件在线打开Word文档,代码如下:
//********************卓正PageOffice组件的使用**********************
PageOfficeCtrl poCtrl1 =newPageOfficeCtrl(request);
poCtrl1.setServerPage("poserver.do");//此行必须
WordDocument doc =newWordDocument();
//添加水印,设置水印的内容
doc.getWaterMark().setText("PageOffice开发平台");
poCtrl1.setWriter(doc);
String filePath ="doc/test.doc";//相对路径
poCtrl1.webOpen(filePath, OpenModeType.docNormalEdit,"张三");
poCtrl1.setTagId("PageOfficeCtrl1");//此行必须
说明:webOpen()方法中的第一个参数为:要打开的文件路径,既可是相对路径也可是绝对路径,例如:d:/aaa/111.doc;
如上所述,轻松简单的就给Word文档添加上了水印
方案总结:
上述的示例主要是借助了
PageOffice
开发平台的
PageOfficeCtrl
控件,利用该控件还可实现
Word
文档内容的编辑、保存、提交、添加手写批注、加盖电子印章、
Word
文档到
文档的转换等功能。另外,在
PageOffice
平台下还可实现
Excel
、
PPT
、
等文档的在线打开、编辑保存等等各种操作,很好地解决了开发
OA
系统的程序员的一些列技术难题。