我正在使用angular-ui tabset來顯示幾個單獨的信息位。由於未激活的選項卡的實際內容是隱藏的,因此如果我只是添加頁面的整個主體,則不打印。您在打印後看到的唯一標籤內容是當前活動的選項卡。我試圖使用addHTML
方法將這些選項卡內的所有內容與頁面中的另一個元素一起打印,以保留它的外觀。通過jsPDF的addHTML將多個元素添加到PDF
打印其中任何一個單獨運作良好,但我似乎無法找到一次打印所有項目的方法。
例如,這是用於打印單個元素的代碼。
var pdf = new jsPDF('p', 'pt', 'a4');
pdf.addHTML($('#foo').first(), function() {
pdf.save();
});
這工作(雖然輸出爲全黑,但我想這是另外一個問題)。現在,我想有幾個addHTML
語句來完成添加我需要的內容,然後保存。類似於
var pdf = new jsPDF('p', 'pt', 'a4');
pdf.addHTML($('#foo').first());
_.each($('.bar').first().children(), function(e) {
pdf.addHTML(e);
});
pdf.save();
但是,採用第二種方法保存pdf時,它完全空白。
值得一提的是這個作品,但它並沒有我想保持和有更多的內容不是我想要的格式:
var doc = new jsPDF();
doc.fromHTML($('body').get(0), 15, 15, {
'width': 170,
}, function() {
doc.save();
});
試圖迫使其選擇只是#foo
和.bar
最終出現同樣的問題,我已經在上面。
任何建議,正確的方式來做到這一點將不勝感激。
嗨@Linell,我試過你的方法,但我得到'ReferenceError:CanvasRenderer沒有在renderWindow中定義'。我猜測這是由於一些缺失的依賴js。你能不能指出我需要包含的正確的js文件來使這個工作起作用? PS:我的頁面有很多我想要發佈到我創建的PDF的畫布元素。 – 2015-10-23 12:56:18