JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://canvasjs.com/assets/script/canvasjs.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.min.js"></script>
<br/><!-- Just so that JSFiddle's Result label doesn't overlap the Chart -->
<div id="chartContainer" style="height: 360px; width: 100%;"></div>
<button id="exportButton" type="button">Export as PDF</button>
JavaScript
var chart = new CanvasJS.Chart("chartContainer",
{
title: {
text: "Exporting chart using jsPDF & toDataurl"
},
theme: "dark1",
data: [
{
type: "spline",
dataPoints: [
{ x: 10, y: 4 },
{ x: 20, y: 7 },
{ x: 30, y: 2 },
{ x: 40, y: 3 },
{ x: 50, y: 5 }
]
}
]
});
chart.render();
$("#exportButton").click(function(){
var pdf = new jsPDF();
var chartTheme = chart.get("theme");
chart.set("theme", "light2");
var canvas = $("#chartContainer .canvasjs-chart-canvas").get(0);
var dataURL = canvas.toDataURL();
chart.set("theme", chartTheme);
pdf.addImage(dataURL, 'JPEG', 0, 0);
pdf.save("download.pdf");
});