Select from list ImageSignature object(s) that should be removed from the document;
Call Signature object Delete method and pass one or several signatures to it.
Analyze DeleteResult result to check whether signatures were updated or not.
Here are the alternative steps to delete Image signature from the document with GroupDocs.Signature. This approach is based on saved signatures Id after Search or Sign methods.
Create new instance of Signature class and pass source document path as a constructor parameter;
Instantiate one or several ImageSignature objects with signature Id(s) passed to constructor;
Call Signature class object Delete method and pass one or several signatures to it;
Analyze DeleteResult result to check whether signatures were updated or not.
Delete Image signature from the document after Search
This example shows how to delete Image signature that was found using Search method.
// initialize Signature instanceusing(Signaturesignature=newSignature("signed.docx")){ImageSearchOptionsoptions=newImageSearchOptions();List<ImageSignature>signatures=signature.Search<ImageSignature>(options);List<BaseSignature>signaturesToDelete=newList<BaseSignature>();// collect signatures to deleteforeach(ImageSignaturetempinsignatures){if(temp.Size>100000){signaturesToDelete.Add(temp);}}// delete signaturesDeleteResultdeleteResult=signature.Delete(signaturesToDelete);if(deleteResult.Succeeded.Count==signaturesToDelete.Count){Console.WriteLine("All signatures were successfully deleted!");}else{Console.WriteLine($"Successfully deleted signatures : {deleteResult.Succeeded.Count}");Console.WriteLine($"Not deleted signatures : {deleteResult.Failed.Count}");}Console.WriteLine("List of deleted signatures:");foreach(BaseSignaturetempindeleteResult.Succeeded){Console.WriteLine($"Signature# Id:{temp.SignatureId}, Location: {temp.Left}x{temp.Top}. Size: {temp.Width}x{temp.Height}");}}
Delete Image signature from the document by known signature Identifier
This example shows how to delete Image signature in the document by known signature Id (that was obtained by Search or Sign method previously).
// initialize Signature instanceusing(Signaturesignature=newSignature("signed.docx")){// read from some data source signature Id valuestring[]signatureIdList=newstring[]{"1dd21cf3-b904-4da9-9413-1ff1dab51974","9e386726-a773-4971-b2fc-eaadfce65ffd"};// create list of Image Signature by known SignatureIdList<BaseSignature>signatures=newList<BaseSignature>();signatureIdList.ToList().ForEach(p=>signatures.Add(newImageSignature(p)));// delete required signaturesDeleteResultdeleteResult=signature.Delete(signatures);if(deleteResult.Succeeded.Count==signatures.Count){Console.WriteLine("All signatures were successfully deleted!");}else{Console.WriteLine($"Successfully deleted signatures : {deleteResult.Succeeded.Count}");Console.WriteLine($"Not deleted signatures : {deleteResult.Failed.Count}");}Console.WriteLine("List of deleted signatures:");foreach(BaseSignaturetempindeleteResult.Succeeded){Console.WriteLine($"Signature# Id:{temp.SignatureId}, Location: {temp.Left}x{temp.Top}. Size: {temp.Width}x{temp.Height}");}}
More resources
GitHub Examples
You may easily run the code above and see the feature in action in our GitHub examples: