我正在使用html2canvas将 div 转换为图像。
我想计算 div 的高度(以 px 为单位),使其适合 PDF 页面,保持图像的纵横比它应该适用于所有窗口尺寸(大屏幕、IPAD、台式机、笔记本电脑)。
我正在使用jsPDF生成 PDF
这是小提琴示例 http://jsfiddle.net/akshay1818/ys0z984x/51/
HTML 代码
<div id="target">
Set div height(in px) such that it will fit on the page maintaing the aspect ratio
</div>
<button onclick="takeScreenShot()">to pdf</button>
JavaScript 代码
window.takeScreenShot =function() {
const layout = document.getElementById("target");
const doc = new jsPDF("l", "mm", "a4");
const canvasimg = html2canvas(layout).then(async(canvasimg)=>{
let doc = new jsPDF("l", "mm", "a4");
let img = canvasimg.toDataURL('image/png');
const imgProps = doc.getImageProperties(img);
const pdfWidth = doc.internal.pageSize.getWidth();
var pdfPgHt = doc.internal.pageSize.getHeight();
const imgRatioHeight = (imgProps.height * pdfWidth) / imgProps.width;
doc.addImage(img, 'PNG', 0, 0, pdfWidth, imgRatioHeight);
doc.save('report.pdf');
})
}
提前致谢。