我需要使用jspdf导出HTML表格到pdf文件。我尝试了以下代码,但它显示在pdf文件中的空白/空输出。任何建议或示例代码将是有帮助的。
`
`
<script type="text/javascript"> function demo1() { $(function () { var specialElementHandlers = { '#editor': function (element,renderer) { return true; } }; $('#cmd').click(function () { var doc = new jsPDF(); doc.fromHTML($('#htmlTableId').html(),15,{ 'width': 170,'elementHandlers': specialElementHandlers }); doc.save('sample-file.pdf'); }); }); } </script> `@H_404_5@
解决方法
这里是工作示例:
在头上
<script type="text/javascript" src="jspdf.debug.js"></script>
脚本:
<script type="text/javascript"> function demoFromHTML() { var pdf = new jsPDF('p','pt','letter'); // source can be HTML-formatted string,or a reference // to an actual DOM element from which the text will be scraped. source = $('#customers')[0]; // we support special element handlers. Register them with jQuery-style // ID selector for either ID or node name. ("#iAmID","div","span" etc.) // There is no support for any other type of selectors // (class,of compound) at this time. specialElementHandlers = { // element with id of "bypass" - jQuery style selector '#bypassme': function(element,renderer) { // true = "handled elsewhere,bypass text extraction" return true } }; margins = { top: 80,bottom: 60,left: 40,width: 522 }; // all coords and widths are in jsPDF instance's declared units // 'inches' in this case pdf.fromHTML( source,// HTML string or DOM elem ref. margins.left,// x coord margins.top,{// y coord 'width': margins.width,// max width of content on PDF 'elementHandlers': specialElementHandlers },function(dispose) { // dispose: object with X,Y of the last line add to the PDF // this allow the insertion of new lines after html pdf.save('Test.pdf'); },margins); } </script>
和表:
<div id="customers"> <table id="tab_customers" class="table table-striped" > <colgroup> <col width="20%"> <col width="20%"> <col width="20%"> <col width="20%"> </colgroup> <thead> <tr class='warning'> <th>Country</th> <th>Population</th> <th>Date</th> <th>Age</th> </tr> </thead> <tbody> <tr> <td>Chinna</td> <td>1,363,480,000</td> <td>March 24,2014</td> <td>19.1</td> </tr> <tr> <td>India</td> <td>1,241,900,2014</td> <td>17.4</td> </tr> <tr> <td>United States</td> <td>317,746,2014</td> <td>4.44</td> </tr> <tr> <td>Indonesia</td> <td>249,866,000</td> <td>July 1,2013</td> <td>3.49</td> </tr> <tr> <td>Brazil</td> <td>201,032,714</td> <td>July 1,2013</td> <td>2.81</td> </tr> </tbody> </table> </div>
并按钮运行:
<button onclick="javascript:demoFromHTML()">PDF</button>
和在线工作示例:
或尝试这样:HTML Table Export
@H_404_5@ @H_404_5@