// Get ClientID and ClientSecret from https://dashboard.aspose.cloud/
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";

// create Imaging object
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);

// load first TIFF image from local system
File file1 = new File("DeskewSampleImage.tif");
byte[] imageStream = Files.readAllBytes(file1.toPath());
			
// create file upload request object
UploadFileRequest uploadRequest = new UploadFileRequest("first.tiff",imageStream,null);
// upload first TIFF image to Cloud storage
imageApi.uploadFile(uploadRequest);

// load second TIFF image from local system
File file2 = new File("resultant.tiff");
byte[] imageStream2 = Files.readAllBytes(file2.toPath());
			
// create file upload request object
UploadFileRequest uploadRequest2 = new UploadFileRequest("second.tiff",imageStream2,null);
// upload second TIFF image to Cloud storage
imageApi.uploadFile(uploadRequest2);

// Create Tiff merge request
AppendTiffRequest appendRequest = new AppendTiffRequest("first.tiff","second.tiff",null,null);

// concatenate TIFF images and store resultant file in Cloud storage
imageApi.appendTiff(appendRequest);
	
// Download merge TIFF to local storage
DownloadFileRequest downloadFileRequest = new DownloadFileRequest("first.tiff", null, null);
// read TIFF content from Cloud storage to byte array
byte[] updatedImage = imageApi.downloadFile(downloadFileRequest);

// Save updated image to local storage
FileOutputStream fos = new FileOutputStream("/Users/s4/Documents/" + "Merged-TIFF.tiff");
fos.write(updatedImage);
fos.close();