Update Image signatures in document

GroupDocs.Signature provides the ImageSignature class to manipulate image signatures’ location, size, and textual content. Please note that the Update method modifies the same document that was passed to the constructor of the Signature class.

Here are the steps to update an Image signature in the document with GroupDocs.Signature:

  • Create a new instance of the Signature class and pass the source document path as a constructor parameter.
  • Instantiate the ImageSearchOptions object with the desired properties.
  • Call the Search method to obtain a list of ImageSignatures.
  • Select from the list the ImageSignature object(s) that should be updated.
  • Call the Signature object’s Update method and pass one or several signatures to it.

This example shows how to update an Image signature that was found using the Search method.

  // The path to the documents directory.
  const filePath = Constants.SAMPLE_SIGNED_MULTI; 
  const fileName = path.basename(filePath);

  // Copy source file since the update method works with the same document
  const outputFilePath = path.join(Constants.OutputPath, 'UpdateImage', fileName);
  const dir = path.dirname(outputFilePath);
  if (!fs.existsSync(dir)) {
      fs.mkdirSync(dir, { recursive: true });
  }
  
  // Initialize Signature instance
  const signature = new signatureLib.Signature(filePath);

  // Initialize ImageSearchOptions
  const options = new signatureLib.ImageSearchOptions();

  // Search for image signatures in the document
  const signatures = signature.search(signatureLib.ImageSignature.class, options).toArray();

  if (signatures.length > 0) {
    const imageSignature = signatures[0];
    imageSignature.setLeft(100);
    imageSignature.setTop(100);

    // Update the image signature in the document
    const result = signature.update(outputFilePath, imageSignature);

    if (result) {
      console.log(`\nImage signature at location ${imageSignature.getLeft()}x${imageSignature.getTop()} and Size ${imageSignature.getSize()} was updated in the document [${fileName}].`);
    } else {
      console.log(`\nSignature was not updated in the document! Image signature at location ${imageSignature.getLeft()}x${imageSignature.getTop()} and Size ${imageSignature.getSize()} was not found!`);
    }
  }

More resources

GitHub Examples

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

Free Online Apps

Along with the full-featured .NET library, we provide simple but powerful free online apps.

To generate image signatures and/or sign your files with them for free, you can use the Generate Image online app.

To sign PDF, Word, Excel, PowerPoint, and other documents you can use the other online apps from the GroupDocs.Signature App Product Family.