2015-05-25 41 views
0

我正在使用jsPDF渲染並保存PDF格式的網頁。 我正在使用這樣的東西。如何在使用jsPDF的affHTML進行渲染時跳過元素

var doc = new jsPDF('p', 'cm', 'A4'); 

doc.addHTML(
    $('#print')[0], 
    function() { 
     doc.save('mypdf.pdf'); 
    }); 

現在我需要禁用HTML中某些元素的渲染。 我知道這是可能的,同時使用函數'fromHTML',就像這樣。

var doc = new jsPDF('p', 'cm', 'A4'); 
var specialElementHandlers = { 
    '#renderme': function(element, renderer) { 
     return <<Condition met from any 'renderme' element>>; 
    } 
}; 

doc.fromHTML(
    $('#print').[0], 
    { 
     'elementHandlers': specialElementHandlers 
    }); 

doc.output('dataurl'); 

其中「從任何'renderme'元素滿足的條件」顯然是僞代碼。 現在我的問題是:是否有可能使用addHTML而不是fromHTML實現相同的結果?如果是,如何? 非常感謝您提供任何答案。

回答

0

嘗試使用jQuery選擇器,在傳遞給addHtml時過濾您的內容。

doc.addHTML(
    $('#print .filterSomething')[0], 
    function() { 
     doc.save('mypdf.pdf'); 
    }); 
+0

謝謝富蘭克林。這是個好主意,在某些情況下可能有用,但是css選擇器不如JavaScript實現的過濾器那麼靈活。無論如何,我會研究這種可能性 –