我在设计的网页中添加了打印功能。我使用了html2canvas脚本。但是,页面的结构有所改变。 该网页如下所示:在Google Chrome浏览器中打开,但是当单击打印按钮时,它变为:。如果我手动更改打印菜单中50%的缩放比例,则全部进入页面,但颜色仍然错误。
<div id="test" class="body-content animated fadeIn">
<img id="screenshot" src="Images/printer.png" onclick="getScreenshot()">
<script src="https://unpkg.com/html2canvas@1.0.0-alpha.12/dist/html2canvas.js"></script>
<script> function getScreenshot() {
var printWindow = window.open('', 'PrintWindow', '');
html2canvas(document.querySelector('#test')).then(function (canvas) {
var doc = printWindow.document;
var img = doc.createElement('img');
img.src = canvas.toDataURL('image/png');
doc.body.appendChild(img);
setTimeout(function () {
printWindow.print();
printWindow.close();
}, 0);
});
}
document.getElementById('screenshot').addEventListener('click', getScreenshot);
</script>
...
是否可以解决此问题?