GroupDocsGists
10/24/2017 - 8:23 AM

signPasswordProtectedDocWithTextSignature.java

// 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(); 
String password_1 = "1234567890";
String password_2 = "0987654321";
// instantiating the conversion handler
SignatureHandler<String> handler = new SignatureHandler<String>(signConfig);
// setup options with text of signature
SignOptions signOptions = new CellsSignTextOptions("John Smith");
// specify load options
LoadOptions loadOptions = new LoadOptions();
// specify save options
final SaveOptions saveOptions = new SaveOptions();
saveOptions.setOutputType(OutputType.String);

//Sign document and save it without password
//Set signed document name
saveOptions.setOutputFileName("signed_output_WithoutPassword");
String signedDocumentWithoutPassword = handler.sign(CommonUtilities.getStoragePath(fileName), signOptions, loadOptions, saveOptions);

//Sign document and save it with new password
//Set signed document name
saveOptions.setOutputFileName("signed_output_NewPassword");
//Add password to save options
saveOptions.setPassword(password_1);
//Sign document with new password
String signedDocumentWithPassword = handler.sign(signedDocumentWithoutPassword, signOptions, loadOptions, saveOptions);

//Sign document and save it with original password
//Set signed document name
saveOptions.setOutputFileName("signed_output_OriginalPassword");
//Add password to load options to have ability to open document
loadOptions.setPassword(password_1);
//Set saveOptions to use password from loadOptions
saveOptions.setUseOriginalPassword(true);
saveOptions.setPassword("");
//Sign document with original password
String signedDocumentWithOriginalPassword = handler.sign(signedDocumentWithPassword, signOptions, loadOptions, saveOptions);

//Sign document and save it with another password
//Set signed document name
saveOptions.setOutputFileName("signed_output_AnotherPassword");
//Add password to load options to have ability to open document
loadOptions.setPassword(password_1);
//Set saveOptions to use another password
saveOptions.setUseOriginalPassword(false);
saveOptions.setPassword(password_2);
//Sign document with another password
String signedDocumentWithAnotherPassword = handler.sign(signedDocumentWithOriginalPassword, signOptions, loadOptions, saveOptions);

//Sign document and save it without password
//Set signed document name
saveOptions.setOutputFileName("signed_output_RemovedPassword");
//Add password to load options to have ability to open document
loadOptions.setPassword(password_2);
//Set saveOptions with empty password
saveOptions.setUseOriginalPassword(false);
saveOptions.setPassword("");
//Sign document with removed password
String signedDocumentWithRemovedPassword = handler.sign(signedDocumentWithAnotherPassword, signOptions, loadOptions, saveOptions);