import com.aspose.imaging.cloud.sdk.model.requests.CreateDeskewedImageRequest; import com.aspose.imaging.cloud.sdk.model.requests.DeskewImageRequest; import java.nio.file.Files; import java.nio.file.Paths; string ImageFileName = "example_image.jpeg"; string ImagesFolder = "ExampleImages"; string CloudFolder = "CloudImages"; string OutputFolder = "Output"; // Get ClientId and ClientSecret from https://dashboard.aspose.cloud/ // or use on-premise version (https://docs.aspose.cloud/imaging/getting-started/how-to-run-docker-container/) ImagingApi api = new ImagingApi(argumentValues.ClientSecret, argumentValues.ClientId, "https://api.aspose.cloud"); /** * Deskew an image from cloud storage. * * @throws Exception */ public void deskewImageFromStorage() throws Exception { // Upload image to cloud storage byte[] inputImage = Files.readAllBytes(Paths.get(ImagesFolder, ImageFileName)); UploadFileRequest request = new UploadFileRequest(Paths.get(CloudFolder, ImageFileName).toString(), image, null); FilesUploadResult response = api.uploadFile(request); if(response.getErrors() != null && response.getErrors().size() > 0) throw new Exception("Uploading errors count: " + response.getErrors().size()); // Please refer to https://docs.aspose.cloud/imaging/supported-file-formats/#update // for possible formats Boolean resizeProportionally = true; String bkColor = "white"; String folder = CloudFolder; // Input file is saved at the desired folder in the storage String storage = null; // We are using default Cloud Storage DeskewImageRequest request = new DeskewImageRequest(ImageFileName, resizeProportionally, bkColor, folder, storage); byte[] updatedImage = api.deskewImage(request); // Save the image file to output folder String updatedImageName = "deskewed_" + ImageFileName; Path path = Paths.get(OutputFolder, updatedImageName).toAbsolutePath(); Files.write(path, updatedImage); } /// <summary> /// Deskew an image. Image data is passed in a request stream. /// </summary> public void createDeskewedImageFromRequest() throws Exception { byte[] inputStream = Files.readAllBytes(Paths.get(ImagesFolder, ImageFileName)); // Please refer to https://docs.aspose.cloud/imaging/supported-file-formats/#update // for possible formats Boolean resizeProportionally = true; String bkColor = "white"; String outPath = null; // Path to updated file (if this is empty, response contains streamed image) String storage = null; // We are using default Cloud Storage CreateDeskewedImageRequest request = new CreateDeskewedImageRequest(inputStream, resizeProportionally, bkColor, outPath, storage); byte[] updatedImage = api.createDeskewedImage(request); // Save the image file to output folder String updatedImageName = "deskewed_" + ImageFileName; Path path = Paths.get(OutputFolder, updatedImageName).toAbsolutePath(); Files.write(path, updatedImage); }