水印是叠加的图像或文本,用于出于各种目的显示在文档中。有时,您可能需要用新的文本或图像替换或编辑插入的水印。本文将重点介绍如何使用 REST API 查找和替换水印文本或图像。
本文应涵盖以下主题:
水印 REST API 和 .NET SDK

对于搜索和替换水印,我将使用 GroupDocs.Watermark Cloud 的 .NET SDK API。它允许您以编程方式从支持格式的图像和文档中添加、删除、搜索和替换水印。目前,它还为 Cloud API 提供了 Java SDK。
GroupDocs.Watermark Cloud SDK for .NET 可以从 NuGet 包管理器安装到您的 Visual Studio 项目,如下所示:

您还可以在包管理器控制台中使用以下命令安装 NuGet 包:
Install-Package GroupDocs.Watermark-Cloud
在开始执行步骤和可用代码示例之前,请从 dashboard 获取您的 Client ID 和 Client Secret。在代码中添加您的 ID 和 Secret,如下所示:
string MyClientId = "YOUR-CLIENT-ID";
string MyClientSecret = "YOUR-CLIENT-SECRET";
var config = new Configuration(MyClientId, MyClientSecret);
var watermarkApi = new WatermarkApi(config);
var fileApi = new FileApi(config);
var storageApi = new StorageApi(config);
使用 REST API 查找和替换文本水印
您可以按照以下简单步骤从 PDF 文档中查找和替换水印文本:
上传PDF文档
首先,将带有水印的PDF文档通过以下任一方式上传至云端:
var path = @"C:\Files\";
string MyStorage = null;
var file = Directory.GetFiles(path, "Sample.pdf", SearchOption.AllDirectories).FirstOrDefault();
if (file.Length != 0)
{
var relativeFilePath = file.Replace(path, string.Empty).Trim(Path.DirectorySeparatorChar);
var fileStream = File.Open(file, FileMode.Open);
fileApi.UploadFile(new UploadFileRequest(relativeFilePath, fileStream, MyStorage));
fileStream.Close();
}
结果,PDF 文件将上传到 Cloud Storage,并可在仪表板的 文件部分 中找到。
查找和替换文本水印
以下代码片段展示了如何使用 REST API 从上传的 PDF 文件中查找和替换文本水印。
public static string FindAndReplaceTextWatermark(WatermarkApi watermarkApi)
{
var options = new ReplaceOptions
{
FileInfo = new GroupDocs.Watermark.Cloud.Sdk.Model.FileInfo
{
FilePath = "Sample.pdf"
},
TextSearchCriteria = new TextSearchCriteria
{
SearchText = "Watermark Text"
},
ReplaceTextOptions = new ReplaceTextOptions
{
Text = "Confidential",
}
};
var request = new ReplaceRequest(options);
var result = watermarkApi.Replace(request);
return result.Path;
}

您还可以使用以下代码示例为水印文本设置字体、文本大小、前景色和背景色:
ReplaceTextOptions = new ReplaceTextOptions
{
Text = "Confidential",
FontFamily = "Arial",
Size = 20d,
ForegroundColor = new Color { A = 0, R = 0, G = 100, B = 0 }
}
下载更新文件
以上代码示例将带有新水印文本或图像的 PDF 文件保存在云端。您可以使用以下代码示例下载它:
var downloadRequest = new DownloadFileRequest(file, MyStorage);
Stream downloadResponse = fileApi.DownloadFile(downloadRequest);
using (var fileStream = System.IO.File.Create("C:\\Files\\DownloadedFile.pdf"))
{
downloadResponse.Seek(0, SeekOrigin.Begin);
downloadResponse.CopyTo(fileStream);
}
使用 REST API 查找和替换水印图像
下面给出的简单代码示例演示了如何使用 REST API 查找和替换水印图像。请按照前面提到的步骤上传和下载文件。
public static string FindAndReplaceImageWatermark(WatermarkApi watermarkApi)
{
var options = new ReplaceOptions
{
FileInfo = new GroupDocs.Watermark.Cloud.Sdk.Model.FileInfo
{
FilePath = "Sample.pdf"
},
ImageSearchCriteria = new ImageSearchCriteria
{
ImageFileInfo = new GroupDocs.Watermark.Cloud.Sdk.Model.FileInfo
{
FilePath = "sample_watermark.png"
}
},
ReplaceImageOptions = new ReplaceImageOptions
{
Image = new GroupDocs.Watermark.Cloud.Sdk.Model.FileInfo
{
FilePath = "Logo.png"
}
}
};
var request = new ReplaceRequest(options);
var result = watermarkApi.Replace(request);
return result.Path;
}

结论
总之,您已经了解了如何使用 C# 使用 .NET Watermark REST API 从云上的 PDF 文档中搜索和替换文本或图像水印。此外,您还学习了如何以编程方式将文件上传到云端,然后从云端下载。此外,您可以从 文档 中了解 GroupDocs.Watermark Cloud API 的各种其他有用功能。如有任何疑问,请随时联系 支持。