Mid*_*una 19 javascript jquery html5-canvas
如何拍摄隐藏div的截图?下面给出的代码不适用于隐藏的div.
HTML
<div id="mydiv" style="display:none;" >
<p>Text</p>
</div>
<div id="canvas" style="display:none;">
<p>Canvas:</p>
</div>
<div id="image">
</div>
Run Code Online (Sandbox Code Playgroud)
脚本
<script>
var elem = $('#printDiv');
html2canvas(elem, {
onrendered: function (canvas) {
var data = canvas.toDataURL('image/png');
var image = new Image();
image.src = data;
document.getElementById('image').appendChild(image);
}
});
</script>
Run Code Online (Sandbox Code Playgroud)
当我们将div"mydiv"的样式设置为"display:block"时,它可以工作.
小智 13
您可以将不透明度设置为0.以下是示例示例:
<div style="position: absolute; opacity: 0.0;">
<div id="tempImageThumbnail"></div>
</div>
var tempImageThumb = $('#tempImageThumbnail');
tempImageThumb.append("<div>some text</div>");
html2canvas([tempImageThumb.get(0)], {
onrendered : function(canvas) {
document.body.appendChild(canvas);
}
});
Run Code Online (Sandbox Code Playgroud)
html2canvas(mydiv, {
onclone: function (clonedDoc) {
clonedDoc.getElementById('mydiv').style.display = 'block';
}
}).then((canvas)=>{
//your onrendered function code here
})
Run Code Online (Sandbox Code Playgroud)
以下代码对我有用。我将 Angular 与 jsPdf 和 html2canvas 库一起使用
html2canvas(document.getElementById("pdfTable"), {
onclone: function (clonedDoc) {
// I made the div hidden and here I am changing it to visible
clonedDoc.getElementById('pdfTable').style.visibility = 'visible';
}
}).then(canvas => {
// The following code is to create a pdf file for the taken screenshot
var pdf = new jsPDF('l', 'pt', [canvas.width, canvas.height]);
var imgData = canvas.toDataURL("PNG", 1.0);
pdf.addImage(imgData, 0, 0, (canvas.width), (canvas.height));
pdf.save('converteddoc.pdf');
});
Run Code Online (Sandbox Code Playgroud)
我不确定是否有一种现成的方法可以实现这一目标。显示 div、捕获然后再次隐藏怎么样?
var elem = $('#printDiv');
html2canvas(elem, {
onrendered: function (canvas) {
elem.show();
var data = canvas.toDataURL('image/png');
var image = new Image();
image.src = data;
document.getElementById('image').appendChild(image);
elem.hide();
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19644 次 |
| 最近记录: |