Word中设置水印效果时,不论是文本水印或者是图片水印都只能添加单个文字或者图片到Word页面,效果比较单一,本文通过Java代码示例介绍如何在页面中添加多行水印效果,即水印效果以多行文字排列或者以多个图片平铺到页面。
思路及方法:获取Word页眉,添加形状(在形状中添加文字)或者图片到页眉段落,并复制形状或图片。
程序环境:使用spire.doc.jar,版本:免费版3.9.0
Java代码:
1. 添加多行文字水印效果
import com.spire.doc.*; import com.spire.doc.documents.Paragraph; import com.spire.doc.documents.ShapeLineStyle; import com.spire.doc.documents.ShapeType; import com.spire.doc.fields.ShapeObject; import java.awt.*; public class TextWatermark { public static void main(String[] args) { //加载示例文档 Document doc = new Document(); doc.loadFromFile("sample.docx"); //添加艺术字并设置大小 ShapeObject shape = new ShapeObject(doc, ShapeType.Text_Plain_Text); shape.setWidth(60); shape.setHeight(20); //设置艺术字文本内容、位置及样式(即文本水印字样) shape.setVerticalPosition(30); shape.setHorizontalPosition(20); shape.setRotation(315); shape.getWordArt().setText("内部使用"); shape.setFillColor(Color.red); shape.setLineStyle(ShapeLineStyle.Single); shape.setStrokeColor(new Color(192, 192, 192, 255)); shape.setStrokeWeight(1); Section section; HeaderFooter header; for (int n = 0; n < doc.getSections().getCount(); n++) { section = doc.getSections().get(n); //获取页眉 header = section.getHeadersFooters().getHeader(); Paragraph paragraph1; for (int i = 0; i < 4; i++) { //添加4个段落到页眉 paragraph1 = header.addParagraph(); for (int j = 0; j < 3; j++) { //复制艺术字并设置多行多列位置 shape = (ShapeObject) shape.deepClone(); shape.setVerticalPosition(50 + 200 * i); shape.setHorizontalPosition(20 + 160 * j); paragraph1.getChildObjects().add(shape); } } } //保存文档 doc.saveToFile("result.docx", FileFormat.Docx_2013); doc.dispose(); } }
2. 添加多行图片水印
import com.spire.doc.*; import com.spire.doc.documents.Paragraph; import com.spire.doc.documents.TextWrappingStyle; import com.spire.doc.fields.DocPicture; public class ImageWatermark { public static void main(String[] args) { //加载Word文档 Document doc=new Document(); doc.loadFromFile("input.docx"); //加载图片 DocPicture picture = new DocPicture(doc); picture.loadImage("logo.png"); picture.setTextWrappingStyle(TextWrappingStyle.Behind);//设置图片环绕方式 //遍历所有section for (int n = 0; n < doc.getSections().getCount(); n++) { Section section = doc.getSections().get(n); //获取section的页眉 HeaderFooter header = section.getHeadersFooters().getHeader(); Paragraph paragrapg1; //获取或添加段落 if(header.getParagraphs().getCount()>0) { paragrapg1 = header.getParagraphs().get(0); } else { paragrapg1 = header.addParagraph(); } //复制图片,并添加图片到段落 for (int p = 0; p < 4; p++) { for (int q = 0; q < 3; q++) { picture = (DocPicture)picture.deepClone(); picture.setVerticalPosition(50 + 150 * p); picture.setHorizontalPosition(10 + 140 * q); paragrapg1.getChildObjects().add(picture); } } } //保存文档 doc.saveToFile("output.docx", FileFormat.Docx_2013); doc.dispose(); } }
相关推荐
java Jacob完美实现word添加图片水印(内附源码及jar包)。 公司最近让搞Word文档添加水印,所有下载的文档需要添加公司印章,搞了好多天才实现,利用Jacob完美实现word添加图片水印(注意需要把dll文件放到jdk的bin...
Java 实现word文件增加图片水印 jacob实现 用到的jar itextpdf-5.5.2和 jacob
主要利用free spire.office for java 为word,ppt,pdf 文档添加文本水印。利用poi 给excel文档添加文本水印。所需要的包在lib文件夹下
大哥 还是大姐不要再删了 我要崩溃了 我上传的资源就是有关于javaja操作wordpdf图片生成图片水印的 一些相关资料而已
PHP给pdf添加多行水印
java实现图片上传并添加水印效果(文字水印,蒙版,logo图片),自动进行文字大小行数位置匹配,文字自动换行
java给图片添加水印,网站开发过程中可能需要对上传的图片添加属于本网站的水印,这是一个工具类,能实现添加文字水印和添加图片水印。
java 图片添加水印 图片叠加文字类 图片生成方法,如果需要在已有的图片叠加文字
Java实现在图片上添加水印图片和水印文字.docJava实现在图片上添加水印图片和水印文字.docJava实现在图片上添加水印图片和水印文字.docJava实现在图片上添加水印图片和水印文字.doc
利用java的Graphics2D进行图片的水印处理
基于Java给图片添加文字或图片水印 大学生课程设计 基于Java的课程设计 自己大二写的课程设计
JAVA实现给图片增加图片水印或者文字水印相关依赖包。
andriod加文字水印 支持配置文字大小,倾斜角度,多行水印
经常做Oa系统的人,难免经常遇到word文档处理的问题,现在针对已经存在的word文档,需要添加水印,设置保护信息,防止别人下载后更改文档内容
java 通过JXL架包,给excel文件添加水印,水印内容可自定义
java调用ffmpeg添加水印并且转换视频,代码中并没有判断哪些格式支持,那些不支持,mpg,mp4,avi,wmv基本都可以(传入格式),转换为flv avi mp4起码都没问题,其它的没事过ffmpeg是开源的支持的挺多的 补充:时间算错了,...
Java为图片添加水印效果,将两张图像合成为一张,添加前可预览水印,对bmp后缀的图片格式进行处理, 支持批量添加水印图像,生成水印图片。 @param buffImg 图像加水印之后的BufferedImage对象 @param ...
Java为图片添加水印功能,这个水印类的操作比较实用,不但可以旋转水印图像,还可设置其水印图片的透明度,使其与原图融为一体,给图片添加水印,可以设置图片水印的角度,设置对线段的锯齿状边缘处理,第一参数->...
在Java中给图片添加水印是一种常见的保护图片的方法,特别是在需要防止图片被盗用或者滥用的情况下。为了实现这一功能,Java提供了多种方式,其中常用的是使用ImageIO和Apache的Commons Imaging库。 ImageIO是Java...
水印 java Graphics2D实现文字图片水印 实现水印四个角水印