【发布时间】:2014-12-02 03:53:47
【问题描述】:
我正在使用angular-ui tabset 来显示几个单独的信息位。因为未激活的选项卡的实际内容是隐藏的,所以如果我只添加页面的整个正文,它就不会打印。您在打印后看到的唯一选项卡内容是当前活动的选项卡。我正在尝试使用addHTML 方法打印这些选项卡内的所有内容以及页面中的另一个元素,以保留其外观。
单独打印其中任何一项效果很好,但我似乎无法找到一次打印所有项目的方法。
例如,这是用于打印单个元素的代码。
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 最终会遇到与我上面相同的问题。
任何有关正确方法的建议将不胜感激。
【问题讨论】:
标签: javascript jquery angularjs pdf jspdf