2014-10-24 3 views
1

Я пытаюсь создать приложение, в котором пользователь может загрузить определенную таблицу в формате PDF. Я пытаюсь использовать jsPDF для этой цели, но по тем или иным причинам он не работает. Последняя ошибка, которую я получаю в консоли, - TypeError: element is undefined в файле jspdf.plugin.from_html.js.Element is undefined error in jsPDF

Вот мой подход:

У меня есть следующие заголовки:

<script type="text/javascript" src="jspdf.js"></script> 
<script type="text/javascript" src="jspdf.plugin.from_html.js"></script> 
<script type="text/javascript" src="jspdf.plugin.split_text_to_size.js"></script> 
<script type="text/javascript" src="jspdf.plugin.standard_fonts_metrics.js"></script> 

Единственное, что здесь можно отметить тот факт, что Моя таблица заполняется динамически из значений, предоставленных моей бэкэндом во время сама

В таблице загрузки страницы выглядит следующим образом:

<div id="huh"> 

<table class="table table-hover table-bordered" id="recent"> 
    <thead> 
     <tr> 
      <th> 
      Spent On 
      </th> 
      <th> 
      Amount 
      </th> 
     </tr> 
    </thead> 

</table> 
    </div> 

В таблице приведены фактические данные, когда я взываю следующий сценарий:

<script type="text/javascript"> 

    function demoFromHTML() { 
     var doc = new jsPDF('p', 'in', 'letter'); 
     var source = document.getElementById('huh'); 
     var specialElementHandlers = { 
      '#bypassme': function(element, renderer) { 
       return true; 
      } 
     }; 

     doc.fromHTML(
      $('#testcase').get(0), // [Refer Exact code tutorial][2]HTML string or DOM elem ref. 
      0.5, // x coord 
      0.5, // y coord 
      { 
       'width': 7.5, // max width of content on PDF 
       'elementHandlers': specialElementHandlers 
      }); 

     doc.output('dataurl'); 
    } 

    </script> 

<button onclick="javascript:demoFromHTML();">PDF</button> 

я взял код из образцов и примеров. Любые идеи, в которых я ошибаюсь? Спасибо.

ответ

2

Ваш #testcase не определен

попробовать:

<script type="text/javascript"> 

    function demoFromHTML() { 
     var doc = new jsPDF('p', 'in', 'letter'); 
     //var source = document.getElementById('huh'); 
     var specialElementHandlers = { 
      '#bypassme': function(element, renderer) { 
       return true; 
      } 
     }; 

     doc.fromHTML(
      $('#huh').get(0), // [Refer Exact code tutorial][2]HTML string or DOM elem ref. 
      0.5, // x coord 
      0.5, // y coord 
      { 
       'width': 7.5, // max width of content on PDF 
       'elementHandlers': specialElementHandlers 
      }); 

     doc.output('dataurl'); 
    } 

    </script> 

Вот рабочему пример http://jsfiddle.net/xzZ7n/898/

+0

В jsfiddle не работает. Недоступен плагин JQuery – Vasanth