JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://github.com/MrRio/jsPDF/blob/master/dist/jspdf.min.js"></script>
<script src="https://github.com/stackp/promisejs/blob/master/promise.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>
<a href="javascript:getPDF()">Скачать PDF</a>
<h1>Добро пожаловат</h1>
<input type="text" />
<img src="https://upload.wikimedia.org/wikipedia/commons/thumb/b/b6/Image_created_with_a_mobile_phone.png/220px-Image_created_with_a_mobile_phone.png" width="371" height="371" />
<input type="submit" value="button" />

JavaScript

window.onload = function() {	    
function getPDF() {
        html2canvas(document.body,  {
           onrendered: function (canvas) {
              var img = canvas.toDataURL("image/png");
              var doc = new jsPDF({scale: 1});
              doc.addImage(img, 'JPEG', 20,20);
              doc.save('test.pdf');
           }
        });
    }
};