pageoffice6 版本实现word 文件添加水印

发布时间 2023-11-24 16:01:21作者: qianxi

在很多场景下,Word文档正式发文之前,或者说形成最终文档之前,常常需要往Word文件中添加水印,并且会根据文件类型或内容的不同,需要添加的水印也不一样。

添加水印是Word软件里的一个简单功能,直接点击Word工具栏中的水印按钮就可以手动添加,但是在Web项目开发过程中,时常会遇到通过调用程序接口往Word文档里面动态添加水印的需求,虽然网上有各种各样的操作Word文档的技术,但是对于水印的处理,包括那些通过vba添加水印的方法,都是存在很大问题的。

一个简单的没有任何格式的Word文件,使用网上的某些技术,也是可以简单的添加水印的,但是正式项目中的Word文件,一般都会分为封面、正文、结尾,中间还会分章节,为了让每一页都有水印,这种情况下,网上的技术就无法实现了。PageOffice封装实现了添加水印这个功能,屏蔽了添加水印的复杂细节,所以在开发者看来,调用PageOffice来添加水印,只需编写一句代码即可实现。

添加水印的具体实现有两种方案,分为服务器端编码添加和客户端编码添加。

注意:有分节符的文档,只能在插入分节符之前的页面添加水印。

1、服务器端编码添加水印

PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);

WordDocument doc = new WordDocument();
doc.getWaterMark().setText("PageOffice开发平台");//添加文字水印
//doc.getWaterMark().setImage("D:\\logo.png");//添加图片水印

poCtrl.setWriter(doc); // 必须。
poCtrl.webOpen("D:\\template1.docx", OpenModeType.docNormalEdit, "张佚名");

2、客户端调用js添加水印

pageofficectrl.word.SetWaterMark("水印文字");