function embedWatermark(source, options) { if (!source || source == '') throw new Error('Image-Watermark::embedWatermark : Specified an invalid image source'); // Check if file exists at the specified path stats = fs.lstatSync(source); if (!stats.isFile()) throw new Error('Image-Watermark::embedWatermark : Image does not exists at : ' + source); // If options are not properly specified, use default options if (!options || typeof options !== 'object') options = defaultOptions; // If we reach here that means file exists im.identify(source, function (err, imageData) { if (err) throw new Error('Image-Watermark::embedWatermark : Unable to process image file : ' + err); var retObj = _parseOptions(imageData, source, options); im.convert(retObj.args, function(err, stdout) { if (err) console.log('Image-Watermark::embedWatermark : Error in applying watermark : ' + err); else console.log('Image-Watermark::embedWatermark : Successfully applied watermark. Please check it at :\n ' + retObj.outputPath ); }); }); }
...
'npm install image-watermark'
### Server-side usage
```javascript
var watermark = require('image-watermark');
watermark.embedWatermark('/path/to/image_or_pdf/file', [options]);
```
### Clone the repo
git clone https://github.com/luthraG/image-watermark.git
### API
...
function embedWatermarkWithCb(source, options, callback) { var error; if ((arguments.length < 2) || (arguments.length === 2 && !ratify.isFunction(arguments[1])) || (arguments.length > 2 && !ratify.isFunction(arguments[2]))) { throw new Error('Image-Watermark::embedWatermarkWithCb : Invalid arguments to method embedWatermarkWithCb'); } else if (arguments.length === 2 && ratify.isFunction(arguments[1])) { callback = arguments[1]; options = null; } if (!source || source == '') { error = new Error('Image-Watermark::embedWatermarkWithCb : Specified an invalid image source'); return callback(error); } // Check if file exists at the specified path fs.lstat(source, function(err, stats) { if (err || !stats.isFile()) { error = new Error('Image-Watermark::embedWatermarkWithCb : Image file doesn\'t exists at ' + source); return callback(error); } else if (!err) { // If options are not properly specified, use default options if (!options || typeof options !== 'object') options = defaultOptions; // If we reach here that means file exists im.identify(source, function (err, imageData) { if (err) { error = new Error('Image-Watermark::embedWatermarkWithCb : Unable to process image file : ' + err); return callback(error); } var retObj = _parseOptions(imageData, source, options); im.convert(retObj.args, function(err, stdout) { if (err) { error = new Error('Image-Watermark::embedWatermarkWithCb : Error in applying watermark : ' + err); return callback(error); } else { console.log('Image-Watermark::embedWatermarkWithCb : Successfully applied watermark. Please check it at :\n ' + retObj .outputPath); return callback(null); } }); }); } }); return; }
...
```javascript
// Embed watermark with option object and callback method
var watermark = require('image-watermark');
var option = {'text' : 'sample watermark'};
watermark.embedWatermarkWithCb('\home\user\sample.jpg', option, function(err
) {
if (!err)
console.log('Succefully embeded watermark');
});
// Embed watermark with no option object and callback method
var watermark = require('image-watermark');
...