Deleting Barcode signatures - advanced

GroupDocs.Signature provides BarcodeSignature class to manipulate barcode signatures and delete them from the documents over delete method.
Please be aware that delete method modifies the same document that was passed to constructor of Signature class.

Here are the steps to delete Barcode signature from the document with GroupDocs.Signature:

Here are the alternative steps to delete Barcode 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 BarcodeSignature 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. 

This example shows how to delete Barcode signature that was found using search method.

// initialize Signature instance
Signature signature = new Signature("signed.docx");
BarcodeSearchOptions options = new BarcodeSearchOptions();
List<BarcodeSignature> signatures = signature.search(BarcodeSignature.class, options);
List<BaseSignature> signaturesToDelete = new ArrayList<BaseSignature>();
// collect signatures to delete
for (BarcodeSignature temp : signatures)
{
    if (temp.getText().contains("John"))
    {
        signaturesToDelete.add(temp);
    }
}
// delete signatures
DeleteResult deleteResult = signature.delete("signed.docx",signaturesToDelete);
if (deleteResult.getSucceeded().size() == signaturesToDelete.size())
{
    System.out.print("All signatures were successfully deleted!");
}
else
{
    System.out.print("Successfully deleted signatures : "+deleteResult.getSucceeded().size());
    System.out.print("Not deleted signatures : "+deleteResult.getFailed().size());
}
System.out.print("List of deleted signatures:");
for(BaseSignature temp : deleteResult.getSucceeded())
{
    System.out.print("Signature# Id:"+temp.getSignatureId()+", Location: "+temp.getLeft()+"x"+temp.getTop()+". Size: "+temp.getWidth()+"x"+temp.getHeight());
}

Delete Barcode signature from the document by known signature Identifier

This example shows how to delete Barcode signature in the document by known signature Id (that was obtained by  search or sign method previously).

// initialize Signature instance
Signature signature = new Signature("signed.docx");
// read from some data source signature Id value
String[] signatureIdList = new String[]
        {
                "1a5fbc08-4b96-43d9-b650-578b16fbb877",
                "b0123987-b0d4-4004-86ec-30ab5c41ac7e"
        };
// create list of Barcode Signature by known SignatureId
List<BaseSignature> signatures = new ArrayList<BaseSignature>();
for (String item : signatureIdList)
{
    signatures.add(new BarcodeSignature(item));
}
// delete required signatures
DeleteResult deleteResult = signature.delete("signed.docx",signatures);
if (deleteResult.getSucceeded().size() == signatures.size())
{
    System.out.print("All signatures were successfully deleted!");
}
else
{
    System.out.print("Successfully deleted signatures : " + deleteResult.getSucceeded().size());
    System.out.print("Not deleted signatures : " + deleteResult.getFailed().size());
}
System.out.print("List of deleted signatures:");
for(BaseSignature temp : deleteResult.getSucceeded())
{
    System.out.print("Signature# Id:"+temp.getSignatureId()+", Location: "+temp.getLeft()+"x"+temp.getTop()+". Size: "+temp.getWidth()+"x"+temp.getHeight());
}

More resources

GitHub Examples 

You may easily run the code above and see the feature in action in our GitHub examples:

Free Online App  

Along with full-featured .NET library we provide simple, but powerful free Apps.
You are welcome to eSign PDF, Word, Excel, PowerPoint documents with free to use online GroupDocs Signature App.