Home › Forums › Feature Requests & Feedback › Save image automatically on server end › Reply To: Save image automatically on server end
I have used your code to generate your image which you gave as an example. Its not working at all.
Following is my code:
“use strict”;
var page = require(‘webpage’).create();;
page.viewportSize = { width: 600, height : 600 };
page.content = ‘<html><body><div id=”chartContainer” style=”height: 370px; width: 100%;”></div></body></html>’;
var now = new Date();
if(page.injectJs(‘/Downloads/canvasjs-2.3.1/jquery.canvasjs.min.js’)){ //inject the CanvasJS file. Set the file path accordingly
	page.evaluate(function(fs) {
		var chart = new CanvasJS.Chart(“chartContainer”, {
			animationEnabled: false,
			title:{
				text: “Basic Column Chart”
			},
			data: [
			{
				type: “Column”,
				dataPoints: [
					{ label: “apple”,  y: 10  },
					{ label: “orange”, y: 15  },
					{ label: “banana”, y: 25  },
					{ label: “mango”,  y: 30  },
					{ label: “grape”,  y: 28  }
				]
			}
			]
		});
		chart.render();
		chart.exportChart({format: “png”});
	});
}
//Use clipRect if only a part of page has to be captured
var clipRect = page.evaluate(function() {
	return document.getElementById(“chartContainer”).getBoundingClientRect();
});
page.clipRect = {
	top : clipRect.top,
	left : clipRect.left,
	width : clipRect.width,
	height : clipRect.height
};
//page.render(); //uncomment this line to render the entire web page.
console.log(now);
page.render(“BasicColumnChart”+” ” +now.getHours()+”h “+now.getMinutes()+”m “+now.getSeconds()+”s “+”.jpg”); //This line captures required parts of the page, comment this line to capture the entire page.
//Here, the image is stored in the same directory as of Phantom Project. Specify the required location to save the image Ex: D:/charts/BasicColumnChart.png
phantom.exit(0);