// 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
PdfSignImageOptions signOptions = new PdfSignImageOptions(CommonUtilities.getImagesPath("sign.png"));
// specify horizontal alignment to the right
signOptions.setHorizontalAlignment(HorizontalAlignment.Right);
// specify vertical alignment
signOptions.setVerticalAlignment(VerticalAlignment.Bottom);
final SaveOptions saveOptions = new SaveOptions();
saveOptions.setOutputType(OutputType.String);
// sign document
String signedPath = handler.<String>sign(CommonUtilities.getStoragePath(fileName), signOptions, saveOptions);
System.out.println("Signed file path is: " + signedPath);