在 C# 中使用 REST API 向 Word 文档添加水印

您可以通过编程方式将文本或图像作为水印添加到云端的 Word 文档中。水印用于识别文档的创建者或其他信息,如版权或徽标等。通常,水印以叠加图像、徽标、图案或放置在文档内部的文本的形式使用。在本文中,您将了解如何使用 C# 中的 REST API 向 Word 文档添加水印。

本文应涵盖以下主题:

水印 REST API 和 .NET SDK

为了向 DOCX 文件添加文本或图像水印,我将使用 GroupDocs.Watermark Cloud 的 .NET SDK API。它允许您以编程方式添加、删除、搜索和替换受支持文件格式(如 PDF、Microsoft Word 和 Powerpoint)的图像和文档中的水印。此外,您可以根据需要指定文本样式、字体、大小、颜色或位置来控制水印的自定义。目前,它还为 Cloud API 提供了 Java SDK。

您可以从 NuGet 包管理器或在包管理器控制台中使用以下命令将 GroupDocs.Watermark Cloud 安装到您的 Visual Studio 项目中:

Install-Package GroupDocs.Watermark-Cloud

在执行上述步骤之前,请从 dashboard 获取您的 Client ID 和 Secret。获得 ID 和密码后,添加如下所示的代码:

string clientId = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5";
string clientSecret = "479db2b01dcb93a3d4d20efb16dea971";
string myStorage = "";

var configuration = new Configuration(clientId, clientSecret);
configuration.ApiBaseUrl = "https://api.groupdocs.cloud";

在 C# 中使用 REST API 将文本水印添加到 Word 文档

您可以通过以下简单步骤以编程方式将任何文本作为水印添加到您的 Word 文档中:

上传文件

首先,使用下面给出的代码示例将Word文档上传到云端:

// 初始化接口
var fileApi = new FileApi(configuration);

// 打开文件
var fileStream = File.Open(@"C:\Files\sample.docx", FileMode.Open);

// 创建文件上传请求
var request = new UploadFileRequest("sample.docx", fileStream, MyStorage);

// 上传文件
fileApi.UploadFile(request);
fileStream.Close();

因此,DOCX 文件将上传到云存储,并将在您的仪表板的 文件部分 中可用。

使用 C# 将文本水印添加到 DOCX

您可以按照下面给出的步骤以编程方式将文本水印添加到 DOCX 文件。

  • 创建 WatermarkApi 的实例
  • 创建 FileInfo 的实例
  • 设置DOCX文件路径
  • 创建 WatermarkOptions 并设置 FileInfo
  • 创建 TextWatermarkOptions
  • 设置文本、字体系列、字体大小和文本对齐方式
  • 设置水印文本的前景色
  • 定义水印位置
  • 定义 WatermarkDetails 并设置 TextWatermarkOptions 和 Position
  • 使用 WatermarkOptions 创建 AddRequest
  • 调用WatermarkApi.add()方法获取结果

以下代码示例显示如何使用 C# 中的 REST API 将文本作为水印添加到 Word 文档。

// 初始化接口
var apiInstance = new WatermarkApi(configuration);

// 输入文件路径
var fileInfo = new FileInfo
{
    FilePath = "sample.docx"
};

// 创建水印选项
var options = new WatermarkOptions()
{
    FileInfo = fileInfo,
    
    // 定义水印细节
    WatermarkDetails = new List<WatermarkDetails>
    {
        new WatermarkDetails
        {
            // 定义文本水印
            TextWatermarkOptions = new TextWatermarkOptions
            {
                Text = "Copyright© 2021",
                FontFamilyName = "Arial",
                FontSize = 22d,
                TextAlignment = "Center",
                ForegroundColor = new Color()
                {
                    Name = "Red"
                }
            },

            // 设置水印位置
            Position = new Position()
            {
                X = 230.0,
                Y = 500.0
            }
        }
    }
};

// 创建添加请求
var request = new AddRequest(options);

// 加水印
var response = apiInstance.Add(request);

Console.WriteLine("Resultant file path: " + response.DownloadUrl);
在 C# 中使用 REST API 将文本水印添加到 Word 文档

在 C# 中使用 REST API 将文本水印添加到 Word 文档

下载更新文件

上面的代码示例将带有文本水印的Word文件保存在云端。您可以使用以下代码示例下载它:

// 初始化接口
var fileApi = new FileApi(configuration);

// 云上的默认文件路径
var file = "watermark/added_watermark/sample_docx/sample.docx";

// 创建下载文件请求
var downloadRequest = new DownloadFileRequest(file, myStorage);

// 下载文件
Stream downloadResponse = fileApi.DownloadFile(downloadRequest);

// 将文件保存在工作目录中
using (var fileStream = System.IO.File.Create("C:\\Files\\DownloadedFile.docx"))
{
    downloadResponse.Seek(0, SeekOrigin.Begin);
    downloadResponse.CopyTo(fileStream);
}

使用 REST API 将图像水印添加到 Word 文档

您可以按照以下步骤以编程方式将图像或徽标作为水印添加到您的 Word 文档中。

  • 创建 WatermarkApi 的实例
  • 创建 FileInfo 的实例
  • 设置DOCX文件路径
  • 创建 WatermarkOptions 并设置 FileInfo
  • 创建 ImageWatermarkOptions
  • 将 PNG 图像的文件路径设置为水印
  • 定义水印位置
  • 创建水印详情
  • 设置 ImageWatermarkOptions 和位置
  • 将 WatermarkDetails 设置为列表
  • 使用 WatermarkOptions 创建 AddRequest
  • 调用WatermarkApi.add()方法获取结果

以下代码示例展示了如何使用 C# 中的 REST API 将图像作为水印添加到 DOCX。请按照前面提到的步骤上传和下载文件。

// 初始化接口
var apiInstance = new WatermarkApi(configuration);

// 输入文件路径
var fileInfo = new FileInfo
{
    FilePath = "sample.docx"
};

// 创建水印选项
var options = new WatermarkOptions()
{
    FileInfo = fileInfo,
    // 定义水印细节
    WatermarkDetails = new List<WatermarkDetails>
    {
        new WatermarkDetails
        {
            // 定义图像水印
            ImageWatermarkOptions = new ImageWatermarkOptions()
            {
                Image = new FileInfo { 
                    FilePath = "logo.png" 
                }
            },

            // 设置水印位置
            Position = new Position()
            {
                X = 180.0,
                Y = 280.0
            }
        }
    }
};

// 创建添加请求
var request = new AddRequest(options);

// 加水印
var response = apiInstance.Add(request);

Console.WriteLine("Resultant file path: " + response.DownloadUrl);
在 C# 中使用 REST API 向图像添加图像水印

在 C# 中使用 REST API 将图像水印添加到 Word 文档

在线试用

请尝试以下使用上述 API 开发的免费在线水印工具。 https://products.groupdocs.app/watermark/docx

结论

总而言之,您已经了解了如何为云端的 Word 文档添加文本或图像水印。您还学习了如何以编程方式将 DOCX 文件上传到云端,然后从云端下载更新后的文件。您可以从 文档 了解有关 GroupDocs.Watermark Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。如有任何疑问,请随时联系 支持

也可以看看