我正在使用html2canvas.js从html截屏,而jspdf.js则是pdf。 我的html如下所示
<div id="panel-item-all-annotations">
<div class="panel-body" id="" style="width: 100%;">
{{--some html with image--}}
</div>
</div>
<canvas width="800" height="500" style="display: block;"></canvas>
我正在使用画布通过如下所示的JS代码放置div#panel-item-all-annotations的图像
html2canvas(document.querySelector("#panel-item-all-annotations"), {canvas: canvas}).then(function(canvas) {
console.log('Drew on the existing canvas');
});
但是它不能在画布上正确放置图像。它将其放置在画布的底部和右侧,如下所示
html2canvas.js网址:https://html2canvas.hertzen.com/ jspdf:https://github.com/MrRio/jsPDF
答案 0 :(得分:0)
我不确定为什么要这么做。肯定还有其他事情正在发生。将其分解为超简单的东西似乎可行。这里有一个例子:
这是代码,但不会在StackOverflow上运行。
function go() {
let input = document.querySelector("#input");
let output = document.querySelector("#output");
html2canvas(input, {
canvas: output
});
}
#input {
background-color: orange;
color: white;
padding: 1em;
font-family: sans-serif;
max-width: 200px;
}
#output {
border: 1px solid black;
width: 300px;
height: 200px;
margin-top: 1em;
}
<script src="https://html2canvas.hertzen.com/dist/html2canvas.min.js"></script>
<div id="input">
{{--some html with image--}}
</div>
<div>
<button onclick="go()">Go</button>
</div>
<div>
<canvas id="output"></canvas>
</div>