Vodoznak je překrývající se obrázek nebo text používaný k zobrazení v dokumentech pro různé účely. Někdy může být nutné nahradit nebo upravit vložený vodoznak novým textem nebo obrázkem. Tento článek se zaměří na to, jak najít a nahradit text nebo obrázky vodoznaku pomocí REST API.

Tento článek bude obsahovat následující témata:

Watermark REST API a .NET SDK

Skupina cloudových produktů GroupDocs.Watermark

Pro vyhledávání a nahrazování vodoznaku budu používat .NET SDK of GroupDocs.Watermark Cloud API. Umožňuje programově přidávat, odebírat, vyhledávat a nahrazovat vodoznaky z obrázků a dokumentů podporovaných formátů. V současné době také poskytuje Java SDK i pro Cloud API.

GroupDocs.Watermark Cloud SDK for .NET lze nainstalovat do vašeho projektu Visual Studio ze správce balíčků NuGet, jak je znázorněno níže:

Najít a nahradit vodoznak pomocí Rest API

Balíček NuGet můžete také nainstalovat pomocí následujícího příkazu v konzole Správce balíčků:

Install-Package GroupDocs.Watermark-Cloud

Než začnete postupovat podle kroků a dostupných příkladů kódu, získejte své ID klienta a tajný klíč klienta z dashboard. Přidejte své ID a tajemství do kódu, jak je ukázáno níže:

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);

Najít a nahradit textový vodoznak pomocí REST API

Text vodoznaku z dokumentů PDF můžete najít a nahradit pomocí následujících jednoduchých kroků:

Nahrajte dokument PDF

Nejprve nahrajte dokument PDF obsahující vodoznak do cloudu některým z následujících způsobů:

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();
}

Výsledkem bude, že soubor PDF bude nahrán do cloudového úložiště a bude dostupný v sekci souborů na vašem řídicím panelu.

Najít a nahradit textový vodoznak

Následující fragment kódu ukazuje, jak najít a nahradit textový vodoznak z nahraného souboru PDF pomocí REST API.

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;
}
Najít a nahradit textový vodoznak pomocí REST API

Můžete také nastavit písmo, velikost textu, barvy popředí a pozadí pro text vodoznaku pomocí následující ukázky kódu:

ReplaceTextOptions = new ReplaceTextOptions
{
    Text = "Confidential",
    FontFamily = "Arial",
    Size = 20d,
    ForegroundColor = new Color { A = 0, R = 0, G = 100, B = 0 }
}

Stáhněte si aktualizovaný soubor

Výše uvedené ukázky kódu uloží soubor PDF s novým textem nebo obrázkem vodoznaku do cloudu. Můžete si jej stáhnout pomocí následující ukázky kódu:

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);
}

Najít a nahradit obrázek vodoznaku pomocí REST API

Níže uvedený jednoduchý příklad kódu ukazuje, jak najít a nahradit obrázek vodoznaku pomocí REST API. Chcete-li nahrát a stáhnout soubor, postupujte podle výše uvedených kroků.

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;
}
Najít a nahradit obrázek vodoznaku pomocí REST API

Závěr

Na závěr jste se naučili, jak vyhledat a nahradit textový nebo obrázkový vodoznak z dokumentu PDF v cloudu pomocí .NET Watermark REST API pomocí C#. Navíc jste se také naučili, jak programově nahrávat soubory do cloudu a následně je z cloudu stahovat. Dále se můžete naučit různé další užitečné funkce GroupDocs.Watermark Cloud API z dokumentace. V případě jakýchkoliv nejasností se neváhejte obrátit na support.

Viz také