2016-03-15 8 views
0

Мне нужна кнопка на веб-странице, которая немедленно сохраняет страницу в PDF с тем же @media print css. Таким образом, он выглядит точно так же, как функция страницы печати.Сохраните эту веб-страницу в формате PDF с помощью jsPDF

Я посмотрел на jsPDF и попробовал код ниже. Но я получил следующую ошибку при попытке выбрать всю страницу:

Uncaught TypeError: Cannot read property 'name' of undefined

Он должен быть в моем выборе всей веб-страницы:

source = $("html").html(); 

Мой код:

<script> 
    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 = $("html").html(); 

     // 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> 
<a href="javascript:demoFromHTML()" class="button">Save as PDF</a> 

Любые идеи?

ответ

0

Ну вы есть RowSpan или Colspan есть в вашем HTML, попробуйте удалить те, и он будет работать нормально или попробуйте использовать эту линию

while (j < tableRow.cells.length) { 

вместо этого один в файле jspdf

while (j < tableRow.cells.length && headers[j] != undefined) { 
Смежные вопросы