GroupDocsGists
10/24/2017 - 1:10 PM

Examples-src-main-java-com-groupdocs-signature-examples-CommonOperations-CommonOperations.java

// For complete examples and data files, please go to https://github.com/groupdocs-signature/GroupDocs.Signature-for-Java
public class CommonOperations {

	public static void getSourceDocFromAbsolutePath(String fileName){
		//ExStarat:getSourceDocFromAbsolutePath
		// setup Signature configuration
		SignatureConfig signConfig = CommonUtilities.getConfiguration(); 
		// instantiating the signature handler without Signature Config object
		SignatureHandler<String> handler = new SignatureHandler<String>(signConfig);
		// setup image signature options
		PdfSignImageOptions signOptions = new PdfSignImageOptions(CommonUtilities.getImagesPath("sign.png"));
		final SaveOptions saveOptions = new SaveOptions();
		saveOptions.setOutputType(OutputType.String);
		saveOptions.setOutputFileName("signed_output.pdf");
		// sign document with image
		String signedPath = handler.<String>sign(CommonUtilities.getStoragePath(fileName), signOptions, saveOptions);
		System.out.println("Signed file path is: " + signedPath);
	}
	public static void getSourceDocFromRelativePath(String fileName){
		// 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
		SignOptions signOptions = new PdfSignImageOptions(CommonUtilities.getImagesPath("sign.png"));
		final SaveOptions saveOptions = new SaveOptions();
		saveOptions.setOutputType(OutputType.String);
		saveOptions.setOutputFileName("signed_output.pdf");
		// sign document
		String signedPath = handler.<String>sign(CommonUtilities.getStoragePath(fileName), signOptions, saveOptions);
		System.out.println("Signed file path is: " + signedPath);
	}
	public static void getSourceDocFromUri(){
		// setup Signature configuration
		SignatureConfig signConfig = CommonUtilities.getConfiguration(); 
		// instantiating the signature handler without Signature Config object
		SignatureHandler<String> handler = new SignatureHandler<String>(signConfig);
		// setup image signature options
		SignOptions signOptions = new PdfSignImageOptions("http://groupdocs.com/images/banner/carousel2/conversion.png");
		// save options
		SaveOptions saveOptions = new SaveOptions(OutputType.String, "co_testGetSourceDocumentFromUri.pdf");
		// sign document with image
		String signedPath = handler.<String>sign("https://www.adobe.com/content/dam/Adobe/en/feature-details/acrobatpro/pdfs/combine-multiple-documents-into-one-pdf-file.pdf", signOptions, saveOptions);
		System.out.println("Signed file path is: " + signedPath);
	}
	public static void getSourceDocFromStream(String fileName) throws Throwable{
		// setup Signature configuration
		SignatureConfig signConfig = CommonUtilities.getConfiguration(); 
		// instantiating the signature handler without Signature Config object
		SignatureHandler<String> handler = new SignatureHandler<String>(signConfig);
		// setup image signature options
		SignOptions signOptions = new PdfSignImageOptions("http://groupdocs.com/images/banner/carousel2/conversion.png");
		// save options
		SaveOptions saveOptions = new SaveOptions(OutputType.String, "signed_output.pdf");
		InputStream fileStream = new FileInputStream(CommonUtilities.getStoragePath(fileName));
		// sign document with image
		String signedPath = handler.<String>sign(fileStream, signOptions, saveOptions);
		System.out.println("Signed file path is: " + signedPath);
	}
	public static void passwordProtectedDoc(String fileName){
		// setup Signature configuration
		SignatureConfig signConfig = CommonUtilities.getConfiguration(); 
		// 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();
		loadOptions.setPassword("1234567890");
		// specify save options
		SaveOptions saveOptions = new SaveOptions();
		saveOptions.setOutputType(OutputType.String);
		saveOptions.setOutputFileName("signed_output.xls");
		// sign document
		String signedPath = handler.<String>sign(CommonUtilities.getStoragePath(fileName), signOptions, loadOptions, saveOptions);
		System.out.println("Signed file path is: " + signedPath);
	}
	public static void signDocWithDifferentFileFormat(String fileName){
		// setup Signature configuration
		SignatureConfig signConfig = CommonUtilities.getConfiguration(); 
		// 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();
		loadOptions.setPassword("1234567890");
		// specify save options
		CellsSaveOptions saveOptions = new CellsSaveOptions(OutputType.String);
		saveOptions.setOutputFileName("signed_output.ods");
		saveOptions.setFileFormat(CellsSaveFileFormat.ODS);
		// sign document
		String signedPath = handler.<String>sign(CommonUtilities.getStoragePath(fileName), signOptions, loadOptions, saveOptions);
		System.out.println("Signed file path is: " + signedPath);
	}
	public static void signDocWithDifferentFileName(String fileName){
		// setup Signature configuration
		SignatureConfig signConfig = CommonUtilities.getConfiguration(); 
		// 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
		CellsSaveOptions saveOptions = new CellsSaveOptions();
		saveOptions.setOutputType(OutputType.String);
		saveOptions.setOutputFileName("signed_output.xls");
		// sign document
		String signedPath = handler.<String>sign(CommonUtilities.getStoragePath(fileName), signOptions, loadOptions, saveOptions);
		System.out.println("Signed file path is: " + signedPath);
	}
	public static void setupDigitalSigantureOptions(String fileName) throws Throwable, Exception{
		// setup Signature configuration
		SignatureConfig signConfig = CommonUtilities.getConfiguration(); 
		// instantiating the conversion handler
		SignatureHandler<String> handler = new SignatureHandler<String>(signConfig);
		// define Signature Options Collection
		SignatureOptionsCollection collection = new SignatureOptionsCollection();
		// specify text option
		PdfSignTextOptions signTextOptions = new PdfSignTextOptions("Mr. John", 100, 100, 100, 100);
		// add to collection
		collection.add(signTextOptions);
		// specify image options
		PdfSignImageOptions signImageOptions = new PdfSignImageOptions("signature.jpg");
		signImageOptions.setLeft(200);
		signImageOptions.setTop(200);
		signImageOptions.setWidth(100);
		signImageOptions.setHeight(100);
		// add to collection
		collection.add(signImageOptions);
		// specify digital options
		PdfSignDigitalOptions signDigitalOptions = new PdfSignDigitalOptions(new FileInputStream(CommonUtilities.getCertificatePath("acer.pfx")));
		signDigitalOptions.setPassword("1234567890");
		signDigitalOptions.setVerticalAlignment(VerticalAlignment.Bottom);
		signDigitalOptions.setHorizontalAlignment(HorizontalAlignment.Center);
		// add to collection
		collection.add(signDigitalOptions);
		final SaveOptions saveOptions = new SaveOptions();
		saveOptions.setOutputType(OutputType.String);
		saveOptions.setOutputFileName("co_testSetupMultipleSignatureOptions.pdf");
		// sign document
		String signedPath = handler.<String>sign(CommonUtilities.getStoragePath(fileName), collection, saveOptions);
		System.out.println("Signed file path is: " + signedPath);
	}
	public static void imposePdfDigSignWithTextSignAboveUnderSignatureArea(String fileName) throws Throwable, Throwable{
		// setup Signature configuration
		SignatureConfig signConfig = CommonUtilities.getConfiguration(); 
		// instantiating the conversion handler
		SignatureHandler<String> handler = new SignatureHandler<String>(signConfig);
		// define Signature Options Collection
		SignatureOptionsCollection collection = new SignatureOptionsCollection();
		// specify text option
		PdfSignTextOptions signTextOptionsFirst = new PdfSignTextOptions("Mr. John First");
		signTextOptionsFirst.setLeft(0);
		signTextOptionsFirst.setTop(0);
		// add to collection
		collection.add(signTextOptionsFirst);
		// specify digital options
		PdfSignDigitalOptions signDigitalOptions = new PdfSignDigitalOptions(new FileInputStream(CommonUtilities.getCertificatePath("acer.pfx")));
		signDigitalOptions.setPassword("1234567890");
		signDigitalOptions.setReason("Any reason");
		signDigitalOptions.setLocation("Some location");
		signDigitalOptions.setLeft(0);
		signDigitalOptions.setTop(35);
		signDigitalOptions.setWidth(350);
		// add to collection
		collection.add(signDigitalOptions);
		// specify text option
		PdfSignTextOptions signTextOptionsSecond = new PdfSignTextOptions("Mr. John Second");
		signTextOptionsSecond.setLeft(0);
		signTextOptionsSecond.setTop(100);
		// add to collection
		collection.add(signTextOptionsSecond);
		final SaveOptions saveOptions = new SaveOptions();
		// sign document
		String signedPath = handler.<String>sign(fileName, collection, saveOptions);
		saveOptions.setOutputType(OutputType.String);
		saveOptions.setOutputFileName("signed_output.pdf");
		System.out.println("Signed file path is: " + signedPath);
	}
}