Update SVG via NodeJs Cloud API
Update SVG using native NodeJs Cloud APIs without needing any image editor or 3rd-party libraries.
Get StartedHow to Update (resize, crop, flip&rotate) SVG Using NodeJs Cloud API
Aspose.Imaging.Cloud for Node.js API which is a feature-rich, powerful and easy to use image manipulation and conversion Cloud API for Node.js platform. You can install its latest version from npm
npm console command
npm i @asposecloud/aspose-imaging-cloud
Steps to Update SVG via NodeJs Cloud API
Developers can easily load and update (resize, crop, flip&rotate) SVG files in just a few lines of code.
- Load SVG file as stream
- Create & set the instance of UpdateImageRequest
- Set format, new size, crop area, RotateFlip method
- Call the CreateUpdatedImage method
- Get changed image from response stream
System Requirements
Aspose.Imaging Cloud for NodeJs is supported on all major operating systems. Just make sure that you have the following prerequisites.
- Node.js 6.x and higher.
Update SVG - Cloud
import * as fs from "fs"; | |
import * as path from "path"; | |
import {ImagingBase} from "./imaging-base"; | |
import { | |
CreateUpdatedImageRequest, UpdateImageRequest, | |
ImagingApi, | |
} from "@asposecloud/aspose-imaging-cloud"; | |
const ImageFileName = "example_image.svg"; | |
const ImagesFolder = "ExampleImages"; | |
const CloudFolder = "CloudImages"; | |
const 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/) | |
const api = new ImagingApi(clientSecret, clientId, "https://api.aspose.cloud"); | |
/** | |
* Update the image from cloud storage. | |
*/ | |
public async UpdateImageFromStorage() { | |
const localInputImage = fs.readFileSync(path.join(ImagesFolder, ImageFileName)); | |
const uploadFileRequest = new UploadFileRequest({path: path.join(CloudFolder, imageName), file: image}); | |
const result = await this.api.uploadFile(uploadFileRequest); | |
if (result.errors.length > 0) | |
console.log(`Uploading errors count: ${result.errors.length}` | |
// Please refer to https://docs.aspose.cloud/imaging/supported-file-formats/#update for possible formats | |
const format = "apng"; | |
const newWidth: number = 300; | |
const newHeight: number = 450; | |
const x: number = 10; | |
const y: number = 10; | |
const rectWidth: number = 200; | |
const rectHeight: number = 300; | |
const rotateFlipMethod = "Rotate90FlipX"; // RotateFlip method | |
const folder = this.CloudFolder; // Input file is saved at the desired folder in the storage | |
const storage = undefined; // We are using default Cloud Storage | |
const request = new UpdateImageRequest({ | |
name: this.ImageFileName, | |
format, | |
newWidth, newHeight, | |
x, y, rectWidth, rectHeight, | |
rotateFlipMethod, | |
folder, | |
storage, | |
}); | |
const updatedImage = await this.api.updateImage(request); | |
// Save the image file to output folder | |
const updatedImageName = ImageFileName.substr(0, ImageFileName.lastIndexOf(".")) + "apng"; | |
const filePath = path.resolve(path.join(OutputFolder, updatedImageName)); | |
fs.writeFile(filePath, updatedImage, (err) => { | |
if (err) { | |
throw err; | |
} | |
}); | |
} | |
/** | |
* Update an image. Image data is passed in a request stream. | |
*/ | |
public async CreateUpdatedImageFromRequest() { | |
// Please refer to https://docs.aspose.cloud/imaging/supported-file-formats/#update for possible formats | |
const format = "apng"; | |
const newWidth: number = 300; | |
const newHeight: number = 450; | |
const x: number = 10; | |
const y: number = 10; | |
const rectWidth: number = 200; | |
const rectHeight: number = 300; | |
const rotateFlipMethod = "Rotate90FlipX"; // RotateFlip method | |
const outPath = undefined; // Path to updated file (if this is empty, response contains streamed image) | |
const storage = undefined; // We are using default Cloud Storage | |
const inputStream = fs.readFileSync(path.resolve(ImagesFolder, ImageFileName)); | |
const request = new CreateUpdatedImageRequest({ | |
imageData: inputStream, | |
format, | |
newWidth, newHeight, | |
x, y, rectWidth, rectHeight, | |
rotateFlipMethod, | |
outPath, | |
storage, | |
}); | |
const updatedImage = await this.api.createUpdatedImage(request); | |
// Save the image file to output folder | |
const updatedImageName = ImageFileName.substr(0, ImageFileName.lastIndexOf(".")) + "apng"; | |
const filePath = path.resolve(path.join(OutputFolder, updatedImageName)); | |
fs.writeFile(filePath, updatedImage, (err) => { | |
if (err) { | |
throw err; | |
} | |
}); | |
} |
About Aspose.Imaging Cloud API for NodeJs
Aspose.Imaging Cloud API is an image processing solution to process images (photos) within your cloud or web applications. It offers: cross-platform Image processing, including but not limited to conversions between various image formats (including uniform multi-page or multi-frame image processing), transformations (resize, crop, flip&rotate, grayscale, adjust), advanced image manipulation features (filtering, deskewing), AI features (i.e. object detection and reverse image search). It’s a Cloud API and does not depend on any software for image operations. One can easily add high-performance image conversion features with Cloud APIs within projects. Flexible integrations options including SDKs for various languages (Python, Ruby, .NET, Java, NodeJS, PHP) and the use of the REST API allow to make the integration easy.
Update SVGs via Online App
Update SVG documents by visiting our Live Demos website. The live demo has the following benefits:
SVG What is SVG File Format
SVG files are Scalable Vector Graphics Files that use XML based text format for describing the appearance of image. The word Scalable refers to the fact that the SVG can be scaled to different sizes without losing any quality. Text based description of such files make them independent of resolution. It is one of the mostly used format for building website and print graphics in order to achieve scalability. The format can only be used for two-dimensional graphics though. SVG files can be viewed/opened in almost all modern browsers including Chrome, Internet Explorer, Firefox, and Safari.
Read MoreOther Supported Conversions
Using NodeJs Cloud API, one can easily update different formats including: