有什么办法可以解决这个问题吗?我尝试以毫米为单位设置宽度和高度。如何将其设置为全宽?
发布于 2021-01-17 22:07:07
我的解决方案是检查需要应用什么比例(高度或宽度),这取决于pdf方向和图像大小。注意:如果不需要边距,请将边距设置为0。
const imgData = canvas.toDataURL("image/jpeg");
const pdf = new jsPDF({
orientation: "portrait", // landscape or portrait
unit: "mm",
format: "a4",
});
const imgProps = pdf.getImageProperties(imgData);
const margin = 0.1;
const pdfWidth = pdf.internal.pageSize.width * (1 - margin);
const pdfHeight = pdf.internal.pageSize.height * (1 - margin);
const x = pdf.internal.pageSize.width * (margin / 2);
const y = pdf.internal.pageSize.height * (margin / 2);
const widthRatio = pdfWidth / imgProps.width;
const heightRatio = pdfHeight / imgProps.height;
const ratio = Math.min(widthRatio, heightRatio);
const w = imgProps.width * ratio;
const h = imgProps.height * ratio;
pdf.addImage(imgData, "JPEG", x, y, w, h);
https://stackoverflow.com/questions/36472094
复制相似问题