// For complete examples and data files, please go to https://github.com/groupdocs-signature/GroupDocs.Signature-for-.NET
try
{
switch (fileExtension)
{
case ".docx":
if (textSignOptions != null)
{
WordsSignTextOptions wordTextSignOptions = (WordsSignTextOptions)textSignOptions;
var wordTextSignedPath = handler.Sign<string>(fileName, wordTextSignOptions, new SaveOptions { OutputType = OutputType.String });
}
else if (textSignOptions == null && imageSignOptions != null)
{
WordsSignImageOptions wordImageSignOptions = (WordsSignImageOptions)imageSignOptions;
var wordImageSignedPath = handler.Sign<string>(fileName, wordImageSignOptions, new SaveOptions { OutputType = OutputType.String });
}
else if (textSignOptions == null && imageSignOptions == null && digitalSignOptions != null)
{
WordsSignDigitalOptions wordDigitalSignOptions = (WordsSignDigitalOptions)digitalSignOptions;
var wordDigitalSignedPath = handler.Sign<string>(fileName, wordDigitalSignOptions, new SaveOptions { OutputType = OutputType.String });
}
break;
case ".pdf":
if (textSignOptions != null)
{
PdfSignTextOptions pdfTextSignOptions = (PdfSignTextOptions)textSignOptions;
var pdfTextSignedPath = handler.Sign<string>(fileName, pdfTextSignOptions, new SaveOptions { OutputType = OutputType.String });
}
else if (textSignOptions == null && imageSignOptions != null)
{
PdfSignImageOptions pdfImageSignOptions = (PdfSignImageOptions)imageSignOptions;
var pdfImageSignedPath = handler.Sign<string>(fileName, pdfImageSignOptions, new SaveOptions { OutputType = OutputType.String });
}
else if (textSignOptions == null && imageSignOptions == null && digitalSignOptions != null)
{
PdfSignDigitalOptions pdfDigitalSignOptions = (PdfSignDigitalOptions)digitalSignOptions;
var pdfDigitalSignedPath = handler.Sign<string>(fileName, pdfDigitalSignOptions, new SaveOptions { OutputType = OutputType.String });
}
break;
case ".xlsx":
if (textSignOptions != null)
{
CellsSignTextOptions cellTextSignOptions = (CellsSignTextOptions)textSignOptions;
var cellTextSignedPath = handler.Sign<string>(fileName, cellTextSignOptions, new SaveOptions { OutputType = OutputType.String });
}
else if (textSignOptions == null && imageSignOptions != null)
{
CellsSignImageOptions cellImageSignOptions = (CellsSignImageOptions)imageSignOptions;
var cellImageSignedPath = handler.Sign<string>(fileName, cellImageSignOptions, new SaveOptions { OutputType = OutputType.String });
}
else if (textSignOptions == null && imageSignOptions == null && digitalSignOptions != null)
{
CellsSignDigitalOptions cellDigitalSignOptions = (CellsSignDigitalOptions)digitalSignOptions;
var cellDigitalSignedPath = handler.Sign<string>(fileName, cellDigitalSignOptions, new SaveOptions { OutputType = OutputType.String });
}
break;
case ".pptx":
if (textSignOptions != null)
{
SlidesSignTextOptions slildeTextSignOptions = (SlidesSignTextOptions)textSignOptions;
var slideTextSignedPath = handler.Sign<string>(fileName, slildeTextSignOptions, new SaveOptions { OutputType = OutputType.String });
}
else if (textSignOptions == null && imageSignOptions != null)
{
SlidesSignImageOptions slideImageSignOptions = (SlidesSignImageOptions)imageSignOptions;
var slideImageSignedPath = handler.Sign<string>(fileName, slideImageSignOptions, new SaveOptions { OutputType = OutputType.String });
}
else if (textSignOptions == null && imageSignOptions == null && digitalSignOptions != null)
{
SlidesSignDigitalOptions slideDigitalSignOptions = (SlidesSignDigitalOptions)digitalSignOptions;
var slideDigitalSignedPath = handler.Sign<string>(fileName, slideDigitalSignOptions, new SaveOptions { OutputType = OutputType.String });
}
break;
}
}
catch (System.Exception ex)
{
Console.WriteLine(ex.Message);
}