Search code examples
javajavascriptjspjspdf

JSP To PDF Converter By jsPDF


I am trying to convert my jsp page output into PDF. For this, I am trying jsPDF API. I did some R&D and wrote the code for the same. There is a PDF getting open but it is blank. Need some help.

<script type="text/javascript" src="jsPDF/examples/js/jquery/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="jsPDF/jspdf.js"></script>
<script type="text/javascript" src="jsPDF/plugins/addimage.js"></script>
<script type="text/javascript" src="jsPDF/plugins/cell.js"></script>
<script type="text/javascript" src="jsPDF/plugins/from_html.js"></script>
<script type="text/javascript" src="jsPDF/plugins/javascript.js"></script>
<script type="text/javascript" src="jsPDF/plugins/split_text_to_size.js"></script>
<script type="text/javascript" src="jsPDF/plugins/standard_fonts_metrics.js"></script>

<body id="target">

<div>
    <button id="downloadFile" value="Download PDF" type="button">Download PDF</button>

</body>

    var specialElementHandlers = {
                '#editor': function (element,renderer) {
                    return true;
                }
            };
    
        $('#downloadFile').click(function () {
            var doc = new jsPDF();
            var source = $('#target').html();
            var specialElementHandlers = {
                '#bypassme': function (element, renderer) {
                    return true;
                }
            };
            doc.fromHTML(source, 0.5, 0.5, {
                'width': 75,'elementHandlers': specialElementHandlers
            });
            doc.output("dataurlnewwindow");
            doc.save('E:/Test.pdf');
        });

For doc.save('E:/Test.pdf');, there is an alert says that:

"Error in function jsPDF/output: saveAs is not defined"

Tell me that what am I doing wrong ?


Solution

  • I modified my script as below; then it's working fine. But Still not found for doc.save();

    $('#downloadFile').click(function () {
        var specialElementHandlers = 
            function (element,renderer) {
                return true;
            }
        var doc = new jsPDF();
        doc.fromHTML($('#target').html(), 15, 15, {
            'width': 170,
            'elementHandlers': specialElementHandlers
        });
        doc.output('dataurlnewwindow'); 
    });