开发避坑短篇(7):Vue+window.print()打印实践

需求

vue 项目中如何打印当前页面内容?

解决办法

使用浏览器原生API window.print(),这是最简单直接的方式,通过调用window.print()方法触发浏览器打印功能‌。在vue项目中直接调用print()方法即可,无须引入任何插件。如下:

function handlePrint() {  setTimeout(_ => print(), 500)}

打印页面样式控制

可以使用@media print来控制打印页面的样式。@media print 是 CSS 的媒体查询规则,‌专门用于定义文档在打印输出时的样式‌,与屏幕显示样式区分开来。当用户打印网页或使用打印预览功能时,浏览器会应用这些特殊样式规则。例如:

@media print {  
/**打印页面不显示按钮***/  
.el-button {    
  display: none;   
}  
/**隐藏浏览器默认添加的URL信息***/	 
@page {   
/* 关键设置:消除页眉页脚 */      
margin: 0;      
size: auto;  
}  
body {    
/* 保留内容边距 */      
margin: 1cm;    
}
}

更多打印方案

对于复杂打印需求,可以使用iframe实现高级打印,或者引入第三方库,如vue-easy-print等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帧栈

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值