<el-button type="primary" @click="toPrint">打 印</el-button>
<div class="container" id="printcontent">
<div class="section" >
<!-- 打印时图片不展示的情况处理:把获取到的图片转为base64格式 -->
<img id="imgMsg" :src="ruleForm.imgUrlBase64 ? ruleForm.imgUrlBase64 : ruleForm.imgUrl ? ruleForm.imgUrl : zanWuImg" />
</div>
</div>
function toPrint() {
isPrint.value = true; // 如果打印展示的数据和页面展示的数据不一致,加一个变量来判断当前是打印状态还是展示状态
window.addEventListener("beforeprint", (event) => {
// 获取页面打印区域
window.newstr = document.getElementById("printcontent").innerHTML;
// 打印的区域赋给body(不是特别友好,打印区域会替换页面body)
document.body.innerHTML = newstr;
});
setTimeout(() => {
window.print({
scale: 0.6, // 页面内容展示不全
});
}, 800);
// 由于页面内容被替换,除打印区域外的所有内容包括按钮都会失效,所以页面需要重新加载
window.onafterprint</
vue3 window.print()局部打印
最新推荐文章于 2024-06-13 08:54:08 发布