my workaround was to use html2canvas to create an image of the web page, and then save that image as a pdf using jsPDF.
<!-- jsPDF -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.4.1/jspdf.debug.js" integrity="sha384-THVO/sM0mFD9h7dfSndI6TS0PgAGavwKvB5hAxRRvc0o9cPLohB0wb/PTA7LdUHs" crossorigin="anonymous"></script>
</html>
<!-- html2canvas -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js"></script>
<script>
html2canvas(document.body,
{
onrendered:function(canvas)
{
//create image from web page
var img = canvas.toDataURL("image/png");
//create pdf object and add image to it, and then save
var doc = new jsPDF('landscape');
doc.addImage(img,'JPEG',5,5);
doc.output('save', 'path/and/filename');
}
});
</script>