// For complete examples and data files, please go to https://github.com/groupdocs-signature/GroupDocs.Signature-for-Java
// setup Signature configuration
SignatureConfig signConfig = CommonUtilities.getConfiguration();
// instantiating the conversion handler
SignatureHandler<String> handler = new SignatureHandler<String>(signConfig);
// setup image signature options with relative path - image file stores in config.ImagesPath folder
WordsSignImageOptions signOptions = new WordsSignImageOptions(CommonUtilities.getImagesPath("sign.png"));
signOptions.setLeft(10);
signOptions.setTop(10);
signOptions.setWidth(100);
signOptions.setHeight(100);
signOptions.setDocumentPageNumber(1);
final SaveOptions saveOptions = new SaveOptions();
saveOptions.setOutputType(OutputType.String);
saveOptions.setOutputFileName("signed_output.docx");
// sign document
String signedPath = handler.<String>sign(CommonUtilities.getStoragePath(fileName), signOptions, saveOptions);
System.out.println("Signed file path is: " + signedPath);