我查看了 jsPDF,但该插件在导出的 PDF 中去除了 CSS。我也看过 html2canvas,但它截取了当前窗口的屏幕截图。我的 HTML 内容对用户是隐藏的,我正在寻找一种可以从 HTML block 动态创建 PDF 的解决方案。有什么建议吗?
编辑: 我刚刚尝试为 jsPDF 创建 html2canvas,但我得到一个空的 pdf 文档。有人可以告诉我为什么吗? http://jsfiddle.net/5ud8jkvf/6320/
$('.download').on('click', function(){
html2canvas($('.print'), {
onrendered: function(canvas) {
$('#canvas').replaceWith(canvas);
},
//width: 200,
//height: 200
});
setTimeout(function(){
var doc = new jsPDF();
var specialElementHandlers = {
'#editor': function (element, renderer) {
return true;
}
};
doc.fromHTML($('canvas').html(), 15, 15, {
'width': '200',
'elementHandlers': specialElementHandlers
});
doc.save('sample-file.pdf');
}, 500);
});
最佳答案
你能不能像下面这样使用 html2canvas,你的 html 内容被隐藏应该没关系,你应该能够像这样访问它:
var pdf = new jsPDF('p', 'pt', 'letter');
pdf.addHTML($('#hiddenElement').html(), function () {
pdf.save('Test.pdf');
});
关于javascript - 如何使用 Javascript 将 HTML/CSS 转换为 PDF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39519216/