在javascript中将html导出为pdf
我过去常常从HTML创建PDF 结果:正在生成没有路径的地图 以下是我所拥有的:在javascript中将html导出为pdf,javascript,html2canvas,Javascript,Html2canvas,我过去常常从HTML创建PDF 结果:正在生成没有路径的地图 以下是我所拥有的: html2canvas(document.getElementById('pdf-canvas'), { onrendered: function (canvas) { var data = canvas.toDataURL("image/png"); var docDefinition = { content: [{
html2canvas(document.getElementById('pdf-canvas'), {
onrendered: function (canvas) {
var data = canvas.toDataURL("image/png");
var docDefinition = {
content: [{
image: data,
width: 500,
}]
};
pdfMake.createPdf(docDefinition).download("Score_Details.pdf");
}
});
然后我用
结果:它正在生成没有贴图的路径
这是我的
1)fabric
var canvas = new fabric.StaticCanvas( undefined, {
width: 500,
height: 500,
} );
var svgEl = document.body.getElementsByTagName('svg')[0];
var serializer = new XMLSerializer();
var svgStr = serializer.serializeToString(svgEl);
var path = fabric.loadSVGFromString(svgStr,function(objects, options) {
var obj = fabric.util.groupSVGElements(objects, options);
canvas.add(obj).renderAll();
var data = canvas.toDataURL();
var docDefinition = {
content: [{
image: data,
width: 500,
}]
};
pdfMake.createPdf(docDefinition).download("Score_Details.pdf");
});
2)canvg
var svgImage = document.body.getElementsByTagName('svg')[0];
var serializer = new XMLSerializer();
var str = serializer.serializeToString(svgImage);
var $canvas = $('<canvas/>');
$canvas.attr('width', '150px;')
$canvas.attr('height', '150px;')
$canvas.appendTo('body');
canvg($canvas.get(0), str);
html2canvas($canvas, {
onrendered: function (canvas) {
var a = document.createElement('a');
a= canvas.toDataURL();
var docDefinition = {
content: [{
image: a,
width: 500,
}]
};
pdfMake.createPdf(docDefinition).download("Score_Details.pdf");
$canvas.remove(); //removes canvas from body
}
});
我是否必须使用另一个库,或者我是否错过了使用html2canvas、canvg和fabric的一些功能?我找到了一个用于导出到PDF文件的库,您可以试试 J'ai testéjsPDF我要去参加一次旅行 voici-le代码
html2canvas(document.getElementById("pdf-canvas"), {
onrendered: function(canvas) {
var imgData = canvas.toDataURL('image/png');
console.log('Report Image URL: '+imgData);
var doc = new jsPDF('p', 'mm', [297, 210]); //210mm wide and 297mm high
doc.addImage(imgData, 'PNG', 10, 10);
doc.save('sample.pdf');
}
});
你应该用英语问你的问题:我试过这个库,但这个解决方案不能解决我的问题。未生成路径