概述

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水印(文本水印、图片水印)的更多相关文章

  1. Java 读取Word批注中的文本和图片

    本文将介绍读取Word批注的方法,包括读取Word批注中的文本及图片.关于操作Word批注的方法还可以参考这两篇文章:Java 添加.回复.修改.删除Word批注:Java 给Word指定字符串添加批 ...

  2. php文字水印和php图片水印实现代码

    本文章向码农们介绍php文字水印和php图片水印实现代码,需要的码农可以参考一下. php 文字水印 文字水印就是在图片上加上文字,主要使用gd库的imagefttext方法,并且需要字体文件. 实现 ...

  3. Java 给Word每一页设置不同图片水印效果

    Word中设置水印时,可加载图片设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法.下面,将以Java代码为例, ...

  4. C# 给Word每一页设置不同图片水印

    Word中设置水印时,可加载图片设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法.下面,将以C#代码为例,对W ...

  5. Java 读取Word表格中的文本和图片

    本文通过Java程序来展示如何读取Word表格,包括读取表格中的文本和图片.下面是具体实现的步骤和方法. 1. 程序环境准备 代码编译工具:IntelliJ IDEA Jdk版本:1.8.0 测试文档 ...

  6. C# 给图片添加透明的文字、图片水印

    #region 添加水印 /// <summary> /// 添加文字水印 /// </summary> /// <param name="image" ...

  7. php文字水印和php图片水印实现代码(二种加水印方法)

    文字水印 文字水印就是在图片上加上文字,主要使用gd库的imagefttext方法,并且需要字体文件.效果图如下: $dst_path = 'dst.jpg';//创建图片的实例$dst = imag ...

  8. 向Word添加一段文本

    文档层次结构 [段落之后] 是一段连续文本,它定义具有一组常见属性的文本区域.一段连续文本由 r 元素表示,这样创建器便可组合换行.样式或格式设置属性,从而将相同信息应用于一段连续文本的所有部分. 正 ...

  9. Java 在Word中添加多行图片水印

    Word中设置水印效果时,不论是文本水印或者是图片水印都只能添加单个文字或者图片到Word页面,效果比较单一,本文通过Java代码示例介绍如何在页面中添加多行图片水印效果,即水印效果以多个图片平铺到页 ...

随机推荐

  1. 【GIT】下载最新库命令

    使用技巧:使用这个命令 git clone git仓库地址 --depth=1 这样只下载最新版本仓库,而不是所有历史版本的仓库

  2. opacity层叠问题

    使用了position属性值为 absolute.relative 的层,将会比普通层更高层次.使用了小于1的opacity属性的层,也比普通层更高层次并且和指定 position 的层同层,但是不支 ...

  3. QHDYZ模拟赛20191027 提前透题

    你们想的美 我给你们透一下题目名称 别刷博客了快去做题

  4. 命令行代理神器 proxychains

    因为某些原因,我们需要在命令行下载一些国外的资源,这个时候如果使用 wget,curl,或者 aria2c 的时候,往往又没有速度.这个时候我们需要使用代理来进行加速. 我本地搭的有 ss,但 ss ...

  5. Python - selenium自动化-Chrome(headless)

    什么是 Headless Chrome Headless Chrome 是 Chrome 浏览器的无界面形态,可以在不打开浏览器的前提下,使用所有 Chrome 支持的特性运行你的程序.相比于现代浏览 ...

  6. 「动态规划」-数位dp专题

    数位dp,今天学长讲的稍玄学,课下花了一会时间仔细看了一下,发现板子是挺好理解的,就在这里写一些: 数位dp主要就是搞一些在区间中,区间内的数满足题目中的条件的数的个数的一类题,题目一般都好理解,这时 ...

  7. php判断是不是https的方法

    php判断是不是https的方法<pre> public function is_https() { if (!empty($_SERVER['HTTPS']) && st ...

  8. PowerMock学习(一)之PoweMock的入门--模拟新增学生操作

    关于powermock 在TDD领域Mock框架有很多,比如EasyMock,JMock,Mockito.可能有些同学会好奇了,为什么要重点把powermock拿出来呢,因为powermock可以解决 ...

  9. Worktile正式发布全新研发产品!

    经过近一年时间的打磨,Worktile研发产品正式发布啦!和以往Worktile版本升级不同的是,这是一个全新的产品形态,目前已上线 Agile(敏捷开发).Pipe(持续交付).Testhub(测试 ...

  10. nyoj 45-棋盘覆盖 (高精度, Java)

    棋盘覆盖 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 在一个2k×2k(1<=k<=100)的棋盘中恰有一方格被覆盖,如图1(k=2时),现用一缺角的 ...