我正在研究AngularJs应用程序,在某些时候我必须将网页中的一些内容转换为PDF格式
我尝试了很多东西,但最后还要感谢Stackoverflow question 并使用这段代码
html2canvas(document.getElementById('exportthis'), {
onrendered: function (canvas) {
var data = canvas.toDataURL();
var docDefinition = {
content: [{
image: data,
width: 500,
}]
};
pdfMake.createPdf(docDefinition).download("Score_Details.pdf");
}
});
我使用html2canvas和pdfmake来生成pdf,但结果实际上并不是完整的pdf,只是base64图像包含所有页面并导出为pdf文件。
我无法选择任何文字或点击任何链接,只是图片不是完美的结果
无论如何通过angularJs或Javascript一般从HTML生成真正的PDF文件
更新:
我尝试了JsPDF
有官方演示
var doc = new jsPDF();
// We'll make our own renderer to skip this editor
var specialElementHandlers = {
'#editor': function(element, renderer){
return true;
}
};
// All units are in the set measurement for the document
// This can be changed to "pt" (points), "mm" (Default), "cm", "in"
doc.fromHTML($('#render_me').get(0), 15, 15, {
'width': 170,
'elementHandlers': specialElementHandlers
});
但我收到此错误
jsPDF警告:渲染问题?提供来自HTML的回调!
并且很遗憾他们没有在github上发布文档事件所有的wiki页面都是空白页!!
提前致谢!