1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > html转换成pdf后变模糊 使用html2canvas.js和jspdf.js把网页转换成 pdf 不清晰怎么解决...

html转换成pdf后变模糊 使用html2canvas.js和jspdf.js把网页转换成 pdf 不清晰怎么解决...

时间:2022-11-27 10:38:31

相关推荐

html转换成pdf后变模糊 使用html2canvas.js和jspdf.js把网页转换成 pdf  不清晰怎么解决...

pdf(){

let that = this

this.loading = false

html2Canvas(this.$refs.pictureData).then(canvas => {

var contentWidth = canvas.width;

var contentHeight = canvas.height;

// 加水印

console.log(canvas)

var ctx=canvas.getContext("2d");

ctx.rotate(Math.PI / 180 * 20);

ctx.font="60px microsoft yahei";

ctx.fillStyle = "rgba(255,255,255,1)";

ctx.strokeText("棱镜个人报告",250,50);

// 加水印

//一页pdf显示html页面生成的canvas高度;

var pageHeight = contentWidth / 592.28 * 841.89;

//未生成pdf的html页面高度

var leftHeight = contentHeight;

//页面偏移

var position = 0;

//a4纸的尺寸[595.28,841.89],html页面生成的canvas在pdf中图片的宽高

var imgWidth = 595.28;

var imgHeight = 592.28/contentWidth * contentHeight;

var pageData = canvas.toDataURL('image/jpeg', 1.0);

var pdf = new jsPDF('', 'pt', 'a4');

//有两个高度需要区分,一个是html页面的实际高度,和生成pdf的页面高度(841.89)

//当内容未超过pdf一页显示的范围,无需分页

if (leftHeight < pageHeight) {

pdf.addImage(pageData, 'JPEG', 0, 0, imgWidth, imgHeight );

} else {

while(leftHeight > 0) {

pdf.addImage(pageData, 'JPEG', 0, position, imgWidth, imgHeight)

leftHeight -= pageHeight;

position -= 841.89;

//避免添加空白页

if(leftHeight > 0) {

pdf.addPage();

}

}

}

pdf.save('个人报告.pdf');

this.loading = true

});

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。