Html2canvas颜色变化和缩放

我在我设计的网页中添加了打印function。 我使用了html2canvas脚本。 然而,不知何故,页面的结构被改变了。 网页看起来像这样: 之前 在谷歌浏览器中打开但是当点击打印按钮时,它会转到: 后 。 如果我在打印菜单中手动将缩放更改为50%,则所有页面都会进入页面,但颜色仍然是错误的。

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); ...

有没有办法解决这个问题?