JSFiddle - React, Tailwind, and code Playground

by farhatdz

HTML

<script src="//cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.3/jspdf.min.js"></script>


<canvas id="myCanvas" width="578" height="200"></canvas>
<button id="down_cart_f_bio_pdf">download</button>
<a id="down_cart_f_bio" download="triangle.jpg"><button  type="button" onClick="down_cart_f_bio()">download as jpg</button></a>

JavaScript

var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');

// draw a blue cloud
context.beginPath();
context.moveTo(170, 80);
context.bezierCurveTo(130, 100, 130, 150, 230, 150);
context.bezierCurveTo(250, 180, 320, 180, 340, 150);
context.bezierCurveTo(420, 150, 420, 120, 390, 100);
context.bezierCurveTo(430, 40, 370, 30, 340, 50);
context.bezierCurveTo(320, 5, 250, 20, 250, 50);
context.bezierCurveTo(200, 5, 150, 20, 170, 80);
context.closePath();
context.lineWidth = 5;
context.fillStyle = '#8ED6FF';
context.fill();
context.strokeStyle = '#0000ff';
context.stroke();

 function down_cart_f_bio(){
     var download = document.getElementById("down_cart_f_bio");
     var image = document.getElementById("myCanvas").toDataURL("image/jpg").replace("image/jpg", "image/octet-stream");
     download.setAttribute("href", image);
	}


down_cart_f_bio_pdf.addEventListener("click", function() {
  // only jpeg is supported by jsPDF
  var imgData = canvas.toDataURL("image/jpeg", 1.0);
  var pdf = new jsPDF();

  pdf.addImage(imgData, 'JPEG', 0, 0);
  pdf.save("download.pdf");
}, false);