从javascript库生成高质量pdf的问题:jspdf和html2canvas
嗯,我正在开发一个实用工具,可以生成pdf输出。数据从用户处获取,经过一些操作后转换成预定义的格式,然后需要以.pdf格式保存所有css 它完全是一个客户端应用程序 我正在为此使用从javascript库生成高质量pdf的问题:jspdf和html2canvas,javascript,pdf-generation,jspdf,html2canvas,Javascript,Pdf Generation,Jspdf,Html2canvas,嗯,我正在开发一个实用工具,可以生成pdf输出。数据从用户处获取,经过一些操作后转换成预定义的格式,然后需要以.pdf格式保存所有css 它完全是一个客户端应用程序 我正在为此使用jsPdf+html2canvas。但我有以下忧虑: 首先也是最重要的是,找不到任何API文档。我仍在使用在各个网站上找到的代码片段 不管怎样,我所取得的产出质量远远超出预期 当我的HTML文档大到足以占据多个页面时,我仍然只得到第一页的pdf。(我想这是因为我缺乏知识,也是因为缺乏文档。) 我看到,有很多类似的问题。
jsPdf+html2canvas
。但我有以下忧虑:
zip
文件提供的doc
文件夹,这显然不足以充分利用它function previewCtrlFn($scope, Database){
var vm = this;
vm.resume = Database.resume;
console.log(angular.toJson(vm.resume));
vm.pdf = createPDF;
var form = $('#aa'),
width = form.width(),
a4 =[ 615.28, 841.89];
function createPDF(){
getCanvas().then(function(canvas){
var
img = canvas.toDataURL("image/png"),
doc = new jsPDF({
unit:'px',
format:'a4'
});
doc.addImage(img, 'JPEG', 5, 5);
doc.save('resume.pdf');
form.width(width);
});
}
// create canvas object
function getCanvas(){
form.width((a4[0]*1.33333) -80).css('max-width','none');
return html2canvas(form,{
imageTimeout:1000,
removeContainer:true
});
}
}
我真的需要一些快速的帮助。你可以使用这段代码,你的pdf大小和质量将会提高
html2canvas(body,{
onrendered:function(canvas){
var img=canvas.toDataURL("image/png");
console.dir(canvas);
var pdf=new jsPDF("p", "mm", "a4");
var width = pdf.internal.pageSize.width;
var height = pdf.internal.pageSize.height;
pdf.addImage(canvas, 'JPEG', 0, 0,width,height);
pdf.save('test11.pdf');
}
})