水印是在文档或图片上添加的一种透明或半透明的标记,通常用于保护文档版权、防止盗用、确认文件归属等目的,通常包含文字、图像等多种元素。通过Microsoft Word 可以向文档添加文本和图片水印。除此之外,我们也可以利用Free Spire.Doc for Java库,以编程的方法实现该功能。下面是具体的方法和示例代码。
导入jar包
在进行操作之前,请先将jar导入到Java程序中,有以下两种导入方法: 方法一:如果您使用的是 maven,可以通过添加以下代码到项目的 pom.xml 文件中,将 jar文件导入到应用程序中。
1 <repositories> 2 <repository> 3 <id>com.e-iceblue</id> 4 <name>e-iceblue</name> 5 <url>https://repo.e-iceblue.cn/repository/maven-public/</url> 6 </repository> 7</repositories> 8<dependencies> 9 <dependency> 10 <groupId>e-iceblue</groupId> 11 <artifactId>spire.doc.free</artifactId> 12 <version>5.2.0</version> 13 </dependency> 14</dependencies>
方法二:如果没有使用 maven,则可以从此链接下载Free Spire.Doc for Java,找到lib文件夹下的Spire.doc.jar并进行解压;然后在IDEA中创建一个新项目,依次点击“文件”(File),“项目结构”(Project Structure),“组件”(Modules),“依赖项”(Dependencies),再点击右方绿色“+”下的第一个选项“jar文件或路径”(JARs or Directories),找到解压后的Spire.doc.jar 文件,点击确认,将其导入到项目中。
添加文本水印
详细步骤:
- 创建一个 Document 实例。
- 使用 Document.loadFromFile() 方法加载示例 Word 文档。
- 使用 Document.getSections().get() 方法获取第一节。
- 创建一个 TextWatermark 实例。
- 使用 TextWatermark 类提供的方法设置文本水印的文本、字体大小、颜色和布局。
- 使用 Section.getDocument().setWatermark() 方法将文本水印添加到示例文档。
- 使用 Document.saveToFile() 方法保存文件。 示例代码:
1 import com.spire.doc.*; 2import com.spire.doc.documents.WatermarkLayout; 3import java.awt.*; 4 5public class WordTextWatermark { 6 public static void main(String[] args) { 7 //创建一个Document实例 8 Document document = new Document(); 9 10 //加载示例 Word 文档 11 document.loadFromFile("sample.docx"); 12 13 //获取第一节 14 Section section = document.getSections().get(0); 15 16 //创建一个 TextWatermark 实例 17 TextWatermark txtWatermark = new TextWatermark(); 18 19 //设置文本水印格式 20 txtWatermark.setText("机密"); 21 txtWatermark.setFontSize(40); 22 txtWatermark.setColor(Color.red); 23 txtWatermark.setLayout(WatermarkLayout.Diagonal); 24 25 //将文本水印添加到示例文档 26 section.getDocument().setWatermark(txtWatermark); 27 28 //保存文件 29 document.saveToFile("result1.docx", FileFormat.Docx); 30 } 31 32}

添加图像水印
详细步骤:
- 创建一个 Document 实例。
- 使用 Document.loadFromFile() 方法加载示例 Word 文档。
- 创建一个 PictureWatermark 实例。
- 使用 PictureWatermark.setPicture() 方法加载图像作为图像水印,然后使用 PictureWatermark.setScaling() 方法和 PictureWatermark.isWashout() 方法设置图像水印的缩放和冲洗属性。
- 使用 Document.setWatermark() 方法将图像水印添加到示例文档中。
- 使用 Document.saveToFile() 方法保存文件。 示例代码:
1 import com.spire.doc.*; 2 3public class WordImageWatermark { 4 public static void main(String[] args) throws Exception{ 5 //创建一个Document实例 6 Document document = new Document(); 7 8 //加载示例 Word 文档 9 document.loadFromFile("sample.docx"); 10 11 //创建一个 PictureWatermark 实例 12 PictureWatermark picture = new PictureWatermark(); 13 14 //设置图像水印格式 15 picture.setPicture("image.png"); 16 picture.setScaling(100); 17 picture.isWashout(false); 18 19 //将图像水印添加到示例文档中 20 document.setWatermark(picture); 21 22 //保存文件 23 document.saveToFile("result2.docx",FileFormat.Docx ); 24 } 25}

