How to export Chart?
The Essential chart is an SVG-based control that also supports canvas rendering by using the EnableCanvasRendering property. The canvas object for Chart can be obtained by calling the export method in the client-side. The image data for canvas can be obtained by using the toDataURL method. You can use this image data to export chart in the client or server side.
Client-Side exporting in Firefox and Chrome
The download attribute of anchor tag can be used for client-side exporting, but this is supported only in Firefox and Chrome browsers. The following code illustrates client-side exporting.
CSHTML
<a onclick="Export(this)">
<img src="~/Images/export.png" title="Export"/>
</a>
@(Html.EJ().Chart("container").EnableCanvasRendering(true))
<script type="text/javascript">
//Functions to export chart
function Export(anchor) {
//Gets canvas object for chart
var chartCanvas = $("#container").ejChart("export");
//Gets image data from canvas object
var chartData = chartCanvas.toDataURL();
//Uses download attribute of anchor tag to download image from image data
anchor.download = "Chart.png";
anchor.href = chartData;
}
</script>
The following screenshot displays the Chart before and after clicking the export icon.

Figure 1: Chart before clicking export icon

Figure 2: Chart after clicking the export icon
Client-side exporting in IE9+ and Safari browsers
Due to security reasons, IE and Safari browsers do not support downloading the Chart, but it is possible to save the chart image in the client-side by using the following steps.
- Chart should be converted to an image and opened in a new tab.
- Right click the Chart image in a new tab and choose Save picture as option to save the Chart image.
The following code example opens the Chart as an image in a new browser window
CSHTML
<a onclick="Export(this)">
<img src="~/Images/export.png" title="Export"/>
</a>
@(Html.EJ().Chart("container").EnableCanvasRendering(true))
<script type="text/javascript">
//Functions to export chart
function Export(anchor) {
//Gets canvas object for chart
var chartCanvas = $("#container").ejChart("export");
//Gets image data from canvas object
var chartData = chartCanvas.toDataURL();
//Opens Chart as an image in new window
var newWindow = window.open("");
var head = newWindow.document.createElement("h2");
head.innerHTML = "Right click Chart and choose\"Save picture as\" to save Chart";
var img = newWindow.document.createElement("img");
img.src = chartData;
newWindow.document.body.appendChild(head);
newWindow.document.body.appendChild(img);
newWindow.document.title = "Essential Chart";
}
</script>
The following screenshots illustrate saving the Chart as an image in the client-side for IE and Safari browsers.

Figure 3: Before clicking export icon

Figure 4: After clicking export icon, Chart image is opened in a new tab

Figure 5: Right click the image and choose Save picture as a newly opened tab
Now, the Save Picture dialog appears. Provide a file name in the File name textbox and click Save button to save the image.