Spire.Cloud.Word 添加Word水印(文本水印、图片水印)
概述
Spire.Cloud.Word提供了watermarksApi接口可用于添加水印,包括添加文本水印(SetTextWatermark)、图片水印(SetImageWatermark),本文将对此做详细介绍。
关于Spire.Cloud
Spire.Cloud是云端 Office 文档处理软件,支持在线创建、编辑、保存和打印 Office (Word / Excel / PPT) 文档,支持 .NET、Java、PHP、Python、JavaScript 等多种编程语言,可操作包括DOC、DOCX、XLS、XLSX、PPT、PPTX、PDF等格式的文档。
也可调用Spire.Cloud Web API SDK 提供的接口对 Word、Excel、PPT、PDF 文档进行操作,本文以在VS程序中通过调用Spire.Cloud.Word.SDK来操作Word文档为例,添加水印。
具体步骤:
步骤1:dll文件获取及引用。通过官网下载或者Nuget网站下载获取Spire.Cloud.Word.SDK Package,并将Spire.Cloud.Word.Sdk.dll及其依赖项的dll添加引用至程序(如下图);或者在VS程序中通过Nuget搜索安装,具体步骤可参考这里。

步骤2:ID及Key获取。在冰蓝云网页注册账号并登陆,在“我的应用”板块创建应用程序,获得 App ID 及 App Key。
步骤3:文件路径设置。在冰蓝云网页“我的文档”板块,分别建立input和output两个文件夹,并将测试的Word文档和图片添加在input文件夹下。通过VS代码程序,生成的带水印的Word文档会直接保存至output文件夹下。具体代码操作方法,请参考以下内容。
【示例1】添加文本水印
using Spire.Cloud.Word.Sdk;
using Spire.Cloud.Word.Sdk.Api;
using Spire.Cloud.Word.Sdk.Client;
using Spire.Cloud.Word.Sdk.Model;
using System; namespace txtwatermark
{
class Program
{ static String appId = "应用程序App ID";
static String appKey = "应用程序App Key";
static void Main(string[] args)
{
//配置账号信息
Configuration wordConfiguration = new Configuration(appId, appKey); //创建TablesApi实例
WatermarksApi watermarksApi = new WatermarksApi(wordConfiguration); //设置文件夹、测试文档、水印字样及水印样式等
string inputfolder = "input";
string storage = null;
string password = null;
var document = "testfile.docx";
string name = document;
TextWatermark body = new TextWatermark("Watermark")
{
Layout = TextWatermark.LayoutEnum.Diagonal,
Font = new Font(, "宋体")
{
Color = new Color(, , )
}
}; //调用SetTextWatermark接口添加文本水印到Word文档 ,并保存到指定文件路径
string destFilePath = "output/SetTextWatermark.docx";
watermarksApi.SetTextWatermark(name, body, inputfolder, storage, password, destFilePath); }
}
}
文本水印添加效果:

【示例2】添加图片水印
using Spire.Cloud.Word.Sdk;
using Spire.Cloud.Word.Sdk.Api;
using Spire.Cloud.Word.Sdk.Client;
using System; namespace ImgWatermark
{
class Program
{
static String appId = "应用程序App ID ";
static String appKey = "应用程序App Key ";
static void Main(string[] args)
{
//配置账号信息
Configuration wordConfiguration = new Configuration(appId, appKey); //创建TablesApi实例
WatermarksApi watermarksApi = new WatermarksApi(wordConfiguration); //设置文件夹、测试文档、用于水印的图片及水印样式等
string inputfolder = "input";
string storage = null;
int scaling = ;
bool washout = true;
string password = null; var document = "testfile.docx";
string name = document;
string imagePath = "input/logo.png"; //调用SetImageWatermark接口添加图片水印到Word文档 ,并保存到指定文件路径
string destFilePath = "output/SetImageWatermark.docx";
watermarksApi.SetImageWatermark(name, imagePath, inputfolder, storage, scaling, washout, password, destFilePath);
}
}
}
图片水印添加效果:

(本文完)
Spire.Cloud.Word 添加Word水印(文本水印、图片水印)的更多相关文章
- Java 读取Word批注中的文本和图片
本文将介绍读取Word批注的方法,包括读取Word批注中的文本及图片.关于操作Word批注的方法还可以参考这两篇文章:Java 添加.回复.修改.删除Word批注:Java 给Word指定字符串添加批 ...
- php文字水印和php图片水印实现代码
本文章向码农们介绍php文字水印和php图片水印实现代码,需要的码农可以参考一下. php 文字水印 文字水印就是在图片上加上文字,主要使用gd库的imagefttext方法,并且需要字体文件. 实现 ...
- Java 给Word每一页设置不同图片水印效果
Word中设置水印时,可加载图片设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法.下面,将以Java代码为例, ...
- C# 给Word每一页设置不同图片水印
Word中设置水印时,可加载图片设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法.下面,将以C#代码为例,对W ...
- Java 读取Word表格中的文本和图片
本文通过Java程序来展示如何读取Word表格,包括读取表格中的文本和图片.下面是具体实现的步骤和方法. 1. 程序环境准备 代码编译工具:IntelliJ IDEA Jdk版本:1.8.0 测试文档 ...
- C# 给图片添加透明的文字、图片水印
#region 添加水印 /// <summary> /// 添加文字水印 /// </summary> /// <param name="image" ...
- php文字水印和php图片水印实现代码(二种加水印方法)
文字水印 文字水印就是在图片上加上文字,主要使用gd库的imagefttext方法,并且需要字体文件.效果图如下: $dst_path = 'dst.jpg';//创建图片的实例$dst = imag ...
- 向Word添加一段文本
文档层次结构 [段落之后] 是一段连续文本,它定义具有一组常见属性的文本区域.一段连续文本由 r 元素表示,这样创建器便可组合换行.样式或格式设置属性,从而将相同信息应用于一段连续文本的所有部分. 正 ...
- Java 在Word中添加多行图片水印
Word中设置水印效果时,不论是文本水印或者是图片水印都只能添加单个文字或者图片到Word页面,效果比较单一,本文通过Java代码示例介绍如何在页面中添加多行图片水印效果,即水印效果以多个图片平铺到页 ...
随机推荐
- node 短信接口的调用
首先安装一下 短信的sdk 依赖 这里使用的是阿里云的短信SDK,在阿里云官网申请 npm install @alicloud/sms-sdk --save 调用 新建个 message.js /** ...
- 转:linux环境mysql root用户密码重置
经常设置了mysql的root密码,就忘记掉了,这种事还是经常发生的.转自他人(http://www.osyunwei.com/archives/2014.html),权做笔记.linux环境下,解决 ...
- 7.19 NOIP模拟6
这次考试又一次让mikufun认识到了常数的重要性 T1.那一天我们许下约定 这题一看到D<=1e12,想都没想,矩阵快速幂!然后飞快的码了一个,复杂度n^3logD,让后我观察了一下这个转移矩 ...
- DAY 5 搜索
搜索 开篇: mayan游戏(noip2011 day1 T3) 这道题就是个码量题,老师讲题时淡淡的说写完前两题就花一个半小时了,最后一题不快点打会调不出来,对于一个三个半小时就写两题的蒟蒻来说这. ...
- Salesforce学习之路-developer篇(五)Aura组件原理及常用属性
很喜欢曾经看到的一句话:以输出倒逼输入.以输出的形式强制自己学习,确实是高效的学习方式,真的很棒.以下仅为个人学习理解,如有错误,欢迎指出,共同学习. 1. 什么是Lightning Componen ...
- [转载]2.8 UiPath中断活动Break的介绍和使用
一.Break的介绍 Break: 用于结束当前循环. 注意: Break控件只能用于For Each 循环中 二.Break在UiPath中结合For Each循环的使用 1.打开设计器,在设计库中 ...
- wifi各协议最高速率
- 使用Git-Rebase合并多次提交
在平时的软件开发中,我们每个team使用一个公共仓库(这里说的是Git仓库).每当有一个新的需求,我们会拉出一个特性分支,然后在这个特性分支上做开发以及提交个人的代码. 我有个习惯就是:为了确保代码的 ...
- vue登录功能和将商品添加至购物车实现
2.1: 学子商城--用户登录 用户登录商城用户操作行为,操作用户输入用户名和密码 点击登录按钮,一种情况登录成功 一种情况登录失败 "用户名或密码有误请检查" 2.2:如何实现 ...
- Windows终端利器Cmder
在IT这一行,大部分情况下都是推荐大家使用Linux或者类Unix操作系统去编程,Linux作为一代优秀的操作系统,已经人尽皆知,在IT行业已经成为核心.有条件的大佬都选择了使用mac编程,最优秀的莫 ...