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

本文应涵盖以下主题:

水印 REST API 和 .NET SDK

GroupDocs.Watermark 云产品系列

对于搜索和替换水印,我将使用 GroupDocs.Watermark Cloud 的 .NET SDK API。它允许您以编程方式从支持格式的图像和文档中添加、删除、搜索和替换水印。目前,它还为 Cloud API 提供了 Java SDK。

GroupDocs.Watermark Cloud SDK for .NET 可以从 NuGet 包管理器安装到您的 Visual Studio 项目,如下所示:

使用 Rest API 查找和替换水印

您还可以在包管理器控制台中使用以下命令安装 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;
}
使用 REST API 查找和替换文本水印

您还可以使用以下代码示例为水印文本设置字体、文本大小、前景色和背景色:

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;
}
使用 REST API 查找和替换水印图像

结论

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

也可以看看