1、
安装、引入和页面使用
-
安装依赖:npm install vue-print-nb --save
-
在main.js中引入
import Print from 'vue-print-nb'
Vue.use(Print);
<div id="myPrint">需要打印的内容</div>
-
在打印按钮标签上使用指令 v-print="print"
<el-button type="primary" v-print="print" class="printBtn">打印</el-button>
print: {
id: 'myPrint',
popTitle: '付款审核表', // 打印配置页上方标题
extraHead: '', //最上方的头部文字,附加在head标签上的额外标签,使用逗号分隔
extraCss: '',
2、打印过滤
如果在打印区域中有不需要打印的内容,可以在给需要隐藏的内容的标签上添加类名,比如hidden
然后使用@media print 将其隐藏,@media print 里面是打印时才生效的样式
@media print {
.hidden{
display: none;
3、页眉页脚
做完以上内容后,打印出来是图上的样子,会携带页眉页脚内容。
1> 如果不想要页眉页脚,则可以在@media print中设置。
@page{
size: auto; /* auto is the initial value */
margin: 5mm 5mm 3mm 15mm; /* this affects the margin in the printer settings */
margin为打印内容和四周的边距,可根据自己内容进行调整。
2> 如果需要标题,但是页眉的字体又太小的话,可以在打印内容最上方添加标签
<div id="myprint">
<div class="ymTitle">付款审核表</div>
然后在正常页面中设置display:none
在@media print中设置 文字大小,居中方式和边距等。
.ymTitle{
display: block !important;
font-size:24px;
text-align: center;
margin: 10px 0 40px 0;
这样页面就做好了
4、关于图片
另外还有一些小问题,比如打印不可使用css3样式,需要将图片从background修改为img,旋转,伸缩等也需要修改
一、这次使用的是vue-print-nb插件完成打印的功能。
借鉴链接:https://www.cnblogs.com/steamed-twisted-roll/p/10683680.html
文档:https://www.npmjs.com/package/vue-print-nb#usage-method
安装 npm install vue-print-nb --save
在main.js文件中注册
import Print from 'vue-print-nb'
Vue.us
vue-print-nb插件的使用
首先在文件中引入,注册该插件。注:可以在main.js中注册,也可以单独封装一个负责所有的全局自定义组件的文件
//main.js 中使用
import Print from 'vue-print-nb' //引入插件
Vue.use(Print) // 注册打印组件
或在scr/components/index.js进行注册
// scr/comp
最近项目中碰到一个需求,需要前端预览打印当前页面的内容,但是在打印的时候需要分页打印,想了很多办法,最后解决,在这做一个分享。
首先是打印,网上有很多方法,这里面我用的是一个插件 vue-print-nb --save,使用起来比较方便(缺点是不兼容IE,所以考虑兼容IE浏览器的小伙伴慎用)。
1.安装,直接通过npm安装 npm install vue-print-nb --save...
本博客源码:https://github.com/shengbid/vue-print,这里面只放了打印组件的代码,只需要这个功能的下载这个
https://github.com/shengbid/vue-demo 这个项目里平时博客写的一些功能的代码都放在里面,有需要可以下载看看,有帮助的话点个star哈
安装 npm install vue-print-..
vue-print-nb无法让多余内容分页,只显示一页,原因:外部盒子有overflow:hidden属性,如果改为inherit则可以
解决方法二,使用print.js插件,https://github.com/zxc19890923/print/blob/master/print.js下载插件,在项目中引用
// 搜索getStyle方法,添加:str += "<style>html,body,div{height: auto!important;font-size:14px}</
官网地址:https://github.com/Power-kxLee/vue3-print-nb
npm install vue3-print-nb --save
// Global instruction
import { createApp } from 'vue'
import App from
vue-print-nb是一个Vue.js的第三方库,可用于在浏览器中打印页面。要在打印输出中添加分页,你需要在CSS样式中使用@media print查询来指定打印时的样式。下面是一个示例代码:
```css
@media print {
.page-break {
page-break-after: always;
这个CSS代码片段将在打印时创建一个分页效果。然后,你需要在HTML中添加一个具有.page-break类的元素,以指定何时在页面上插入分页。例如:
```html
<div class="page-break"></div>
在需要插入分页的地方添加这个元素,然后在打印时就会自动创建分页了。注意,在使用vue-print-nb打印页面时,你需要确保这个CSS样式和HTML元素已经正确地引入到了打印输出的HTML页面中。