2014-03-04 69 views
7

讓PDF從HTML DIV我有這樣的JS代碼:不能由jsPDF

var doc = new jsPDF(); 

$('#pdf_new').click(function(){ 
    var html=$(".wrap_all").html(); 
    doc.fromHTML(html,200,200, { 
     'width': 500, 
    }); 
    doc.save("Test.pdf"); 
}); 

在HTML我有這樣的代碼:

<div class = 'wrap_all'> 
    <div id = 'wrap_odd'> <div id = ''>....</div> </div> 

    <div id = 'wrap_even'> <div id = ''>....</div> </div> 
</div> 

沒有什麼工作......控制檯回我:

無法讀取的未定義」

財產

(PS,我的英語很抱歉)

回答

12

當使用「fromHTML」,以從您正在使用JSPDF創建PDF一個HTML採取文字,你應該有一個elementHandler功能,呈現出不需要的< div>

請嘗試遵循example[email protected]處所示的相同模板。

您的最終代碼應該是這樣的:

 
var doc = new jsPDF(); 

    var specialElementHandlers = { 
     'DIV to be rendered out': function(element, renderer){ 
     return true; 
    } 
    }; 


    $('#pdf_new').click(function(){ 
     var html=$(".wrap_all").html(); 
     doc.fromHTML(html,200,200, { 
      'width': 500, 
      'elementHandlers': specialElementHandlers 
     }); 
     doc.save("Test.pdf"); 
    }); 
4

入住這..這顯示整個內容

 <head> 
     <script src="https://code.jquery.com/jquery-git.js"></script> 
     <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/0.9.0rc1/jspdf.min.js"></script> 
<script type="text/javascript"> 
     $(window).on('load', function() { 
      var doc = new jsPDF(); 
      var specialElementHandlers = { 
       '#editor': function (element, renderer) { 
        return true; 
       } 
      }; 
      $('#pdfview').click(function() { 
       doc.fromHTML($('#pdfdiv').html(), 15, 15, { 
        'width': 100, 
        'elementHandlers': specialElementHandlers 
       }); 
       doc.save('file.pdf'); 
      }); 
     }); 
    </script> 
    </head> 
    <div id="pdfdiv"> 
       <h3 style="color:green;">WWW.SANWEBCORNER.COM</h3> 
       <img src="404.png"> 
       <p>A newspaper acts an important medium to control corruption and scams. The chief topics of general interest in newspaper includes politics, social issues, sports, economy, movies, and share market. 

    Newspaper is a mode of mass communication. It is very helpful in creating social awareness. Newspaper raises voices against social issues such as child labor, dowry system, etc. They urge the common people to act and behave in a rational manner. 

    We get the information of the forthcoming movies and television shows through a newspaper. It also contains a list of multiplexes with time-schedule for the movies. 

    A wide coverage of information is obtained at low cost though newspaper. It also influences the habit of thinking in men. It has also seen that illiterate adults are taking up education to read newspaper. 

    There are such dailies that trade on such dirty tricks for survival. Being politically left or right, they misrepresent strikes and lockouts. Events like bank robbery and train accident or similar untoward events are distorted or exaggerated. They deliberately make their news sensational because it appeals to the less educated and less cultured more directly. 

    The dignity and reputation of a newspaper rests on the degree of their fidelity to truth and fearless reporting. It is our cheapest and most powerful weapon in the last analysis.</p> 
      </div> 
      <div id="editor"></div> 
      <button id="pdfview">Download PDF</button> 
0

謹慎的只是一個字:小心的元素的位置的可打印元素容器

看起來好像jsPDF對元素的正確性非常敏感。這包括圖像和鏈接。