我需要制作一个用数据html Blaze Template渲染的PDF文件。
我需要它来支持utf-8,因为我使用了一些希伯来字符,所以我尝试过的大多数软件包都不合适。
我尝试使用jsPDF和addHTML库与jspdf:core包,我将html2canvas.js文件添加到客户端文件夹上的兼容性文件夹中(在演示中我将文件粘贴到common.js)。
Meteor Pad作为演示:http://meteorpad.com/pad/g5GBn8TRrNHxYJ9ip/Leaderboard%20to%20html
我的问题是addHTML的回调函数永远不会执行(演示中client / app.js上的第20行):
var html = Blaze.toHTMLWithData(Template.filledform, {'text' : 'יום אחד, בא אלי בחור ואמר לי:'}),
pdf = new jsPDF('p','pt','a4'),
options = {
proxy: Meteor.absoluteUrl()
},
pdf = new jsPDF('p', 'pt', 'a4');
pdf.addHTML(html, options, function() {
console.log("callBack");
return pdf.output('datauri');
});
我也尝试过:
var href = '',
html = Blaze.toHTMLWithData(Template.filledform, {'text' : 'יום אחד, בא אלי בחור ואמר לי:'}),
pdf = new jsPDF('p','pt','a4'),
options = {
proxy: Meteor.absoluteUrl()
};
pdf.addHTML(html, options, function() {
return href = pdf.output('datauristring');
}).then(function(a) {
console.log(a);
console.log(href);
return location.href = href;
});
但是href值从未改变过。