Vue3使用vue-print-nb插件打印功能

 插件官网地址https://www.npmjs.com/package/vue-print-nb

 效果展示:

打印效果

  1.  根据不同的Vue版本安装插件

    //Vue2.0版本安装方法
    npm install vue-print-nb --save
    pnpm install vue-print-nb --save
    yarn add vue-print-nb
    
    
    //Vue3.0版本安装方法:
    npm install vue3-print-nb --save
    pnpm install vue3-print-nb --save
    yarn add vue3-print-nb
  2. 全局挂载

    //在mian.ts文件中加入
    import Print from 'vue-print-nb'
    Vue.use(Print)
  3. 打印页面的样式

            <!--        打印的内容-->
            <div id="printTest">
              <div class="box_printTest">
                <el-row>
                  <el-col :span="13"
                    ><div class="grid-content ep-bg-purple"
                  /></el-col>
                  <el-col
                    :span="11"
                    style="
                      font-size: 25px;
                      color: rgb(51, 51, 153);
                      font-weight: 600;
                    "
                    >COMMERCIAL INVOICE
                  </el-col>
                </el-row>
                <el-row>
                  <el-col
                    :span="24"
                    style="font-size: 15px; color: #000000; font-weight: bold"
                    >XIAMEN VIGORTEAM TRADING CO.,LTD</el-col
                  >
                </el-row>
    
                <el-row>
                  <el-col :span="14" style="font-size: 13px; color: #303133"
                    >1501-1502 GOLDEN COAST PLAZA,NO.99 LUJIANG
                    ROAD,XIAMEN,CHINA</el-col
                  >
                  <el-col :span="5">
                    <el-row>Date:</el-row>
                    <el-row>Invoice #:</el-row>
                    <el-row>Purchase Order #</el-row>
                    <el-row>L/C #</el-row>
                  </el-col>
                  <el-col :span="5">
                    <el-row class="demo">July 24,2023</el-row>
                    <el-row class="demo">WBG-123456</el-row>
                    <el-row class="demo">JDG-123456</el-row>
                    <el-row class="demo">BLG-123456</el-row>
                  </el-col>
                </el-row>
                <br />
    
                <el-row>
                  <el-col :span="10">
                    <div style="background-color: rgb(51, 51, 153)">
                      <span style="color: white; font-weight: bold">Bill To:</span>
                    </div>
                  </el-col>
                  <el-col :span="4" />
                  <el-col :span="10"
                    ><div style="background-color: rgb(51, 51, 153)">
                      <span style="color: white; font-weight: bold">Ship To:</span>
                    </div></el-col
                  >
                </el-row>
    
                <el-row>
                  <el-col
                    :span="10"
                    style="font-size: 15px; color: #000000; font-weight: bold"
                    >MR PRICE HOME ,A DIVISION OF MR PRICE GROUP LIM</el-col
                  >
                  <el-col :span="4" />
                  <el-col
                    :span="10"
                    style="font-size: 15px; color: #000000; font-weight: bold"
                    >MR PRICE HOME ,A DIVISION OF MR PRICE GROUP Wen</el-col
                  >
                </el-row>
                <div style="height: 10px" />
    
                <el-row>
                  <el-col :span="10" style="font-size: 13px; color: #303133"
                    >HEAD OFFICE,UPPER LEVEL NORTH CONCOURSE DURBAN STATION ,65
                    MASABALALA YENGWA AVENUE DURBAN,SOUTH AFRICA</el-col
                  >
                  <el-col :span="4" />
                  <el-col :span="10" style="font-size: 13px; color: #303133"
                    >HEAD OFFICE,UPPER LEVEL NORTH CONCOURSE,DURBAN STATION ,65
                    MASABALALA YENGWA AVENUE DURBAN SOUTH AFRICA</el-col
                  >
                </el-row>
                <br />
                <br />
    
                <el-row>
                  <el-col :span="24">
                    <div style="background-color: rgb(51, 51, 153)">
                      <span style="color: white; font-weight: bold"
                        >Shipment Information</span
                      >
                    </div>
                  </el-col>
                </el-row>
                <div style="height: 10px" />
    
                <el-row>
                  <el-col :span="6" style="font-size: 13px; color: #303133"
                    >Country of Origin</el-col
                  >
                  <el-col
                    :span="18"
                    style="font-size: 13px; color: #303133; border: 1px solid #333"
                    >China</el-col
                  >
                </el-row>
                <div style="height: 10px" />
    
                <el-row>
                  <el-col :span="6" style="font-size: 13px; color: #303133"
                    >Port of Loading</el-col
                  >
                  <el-col
                    :span="5"
                    style="font-size: 13px; color: #303133; border: 1px solid #333"
                    >TIANJIN,CHINA</el-col
                  >
                  <el-col :span="1" />
                  <el-col :span="6" style="font-size: 13px; color: #303133"
                    >Port of Destination</el-col
                  >
                  <el-col
                    :span="6"
                    style="font-size: 13px; color: #303133; border: 1px solid #333"
                    >DURBAN,SOUTH,AFRICA</el-col
                  >
                </el-row>
                <div style="height: 10px" />
    
                <el-row>
                  <el-col :span="6" style="font-size: 13px; color: #303133"
                    >Shiping Method</el-col
                  >
                  <el-col
                    :span="5"
                    style="font-size: 13px; color: #303133; border: 1px solid #333"
                    >FOB</el-col
                  >
                </el-row>
                <!--            打印的表格-->
                <div>
                  <el-table
                    :data="baseProperty.tableData"
                    :span-method="arraySpanMethod"
                    border
                    :header-cell-style="{
                      background: '#333399',
                      color: '#ffffff'
                    }"
                    :cell-style="{ color: '#000000' }"
                    style="width: 100%; margin-top: 20px"
                  >
                    <el-table-column
                      prop="id"
                      align="center"
                      style="color: black"
                      label="SHIPPING MARKS"
                      width="150"
                    />
                    <el-table-column
                      prop="name"
                      align="center"
                      label="DESCRIPTION OF GOODS"
                      width="210"
                    />
                    <el-table-column
                      prop="amount1"
                      align="center"
                      label="QTY"
                      width="120"
                    />
                    <el-table-column
                      align="center"
                      prop="amount2"
                      label="UNIT PRICE"
                      width="120"
                    />
                    <el-table-column
                      prop="amount3"
                      align="center"
                      label="AMOUNT"
                      width="120"
                    />
                  </el-table>
                </div>
    
                <el-row>
                  <el-col :span="5" />
                  <el-col :span="11" style="font-size: 13px; color: #303133"
                    >产地: 廊坊</el-col
                  >
                  <el-col
                    :span="5"
                    style="
                      font-size: 13px;
                      color: white;
                      background-color: #003366;
                      font-weight: bold;
                    "
                    >Total</el-col
                  >
                  <el-col
                    :span="3"
                    style="
                      font-size: 13px;
                      color: white;
                      background-color: #003366;
                      font-weight: bold;
                    "
                    >USD 10920.00</el-col
                  >
                </el-row>
                <br />
                <el-row>
                  <el-col :span="24">
                    <div style="background-color: rgb(51, 51, 153)">
                      <span style="color: white; font-weight: bold"
                        >Summary Information</span
                      >
                    </div>
                  </el-col>
                </el-row>
    
                <el-row>
                  <el-col
                    :span="16"
                    style="
                      font-size: 13px;
                      color: #303133;
                      border-bottom: 1px solid #333;
                      border-right: 1px solid #333;
                      border-left: 1px solid #333;
                    "
                  >
                    <div
                      style="height: 100%; text-align: center; line-height: 100px"
                    >
                      TOTAL: U.SDOLLARS TEN THOUSAND NINE HUNDRED AND TWENTY ONLY
                    </div>
                  </el-col>
                  <el-col
                    :span="8"
                    style="
                      font-size: 13px;
                      color: #303133;
                      border-bottom: 1px solid #333;
                      border-right: 1px solid #333;
                    "
                  >
                    <el-row style="border-bottom: 1px solid #333">
                      <el-col :span="12"
                        ><span style="font-weight: bold"> Total QTY </span></el-col
                      >
                      <el-col :span="12">
                        <div style="text-align: center">1680PCS</div>
                      </el-col>
                    </el-row>
                    <el-row style="border-bottom: 1px solid #333">
                      <el-col :span="12"
                        ><span style="font-weight: bold"> Total CBM </span></el-col
                      >
                      <el-col
                        :span="12"
                        style="background-color: rgb(192, 192, 192)"
                      >
                        <div style="text-align: center">60.06CBM</div>
                      </el-col>
                    </el-row>
    
                    <el-row>
                      <el-col :span="12"
                        ><span style="font-weight: bold"> Container </span></el-col
                      >
                      <el-col :span="12">
                        <div style="text-align: right">*20°FCL</div>
                      </el-col>
                    </el-row>
    
                    <el-row>
                      <el-col :span="12" />
                      <el-col
                        :span="12"
                        style="background-color: rgb(192, 192, 192)"
                      >
                        <div style="text-align: right">*40°FCL</div>
                      </el-col>
                    </el-row>
    
                    <el-row>
                      <el-col :span="12" />
                      <el-col :span="12">
                        <div style="text-align: right">*40°HQ&nbsp;</div>
                      </el-col>
                    </el-row>
    
                    <el-row>
                      <el-col :span="12" />
                      <el-col
                        :span="12"
                        style="background-color: rgb(192, 192, 192)"
                      >
                        <div style="text-align: right">*45°HQ&nbsp;</div>
                      </el-col>
                    </el-row>
                  </el-col>
                </el-row>
              </div>
            </div>
    
    
    
    
    //表格数据
    const baseProperty = reactive({
      userCode: "",
      dragBtnBC1: "#e5e4e9",
      dragBtnBC2: "#e5e4e9",
      searchTab: "Regular Data",
      openSearch: false,
      topDivShow: true,
      buttonTab: "Split Shipping Plan",
      topDivShowFull: false,
      loading: false,
      subSkuList: [],
      warehouseList: [],
      overseasWarehouseList: [],
      shippingPlanMethodList: [],
      fobPortList: [],
      leftStyle: "width: 73%-10px",
      rightStyle: "width: 27%; height: 100%",
      rightShow: false,
      show: false,
      searchForm: {
        shippingPlanOrder: "",
        status: "",
        page: 1,
        limit: 10
      },
      tableData: [
        {
          id: "12987122",
          name: "A03-01-PP001\n" + "H.S.CODE:9401690090\n" + "产品尺寸:53*53*51",
          amount1: "682PCS",
          amount2: "USD 6.50",
          amount3: "USD 4420.00"
        },
        {
          id: "12987123",
          name: "A03-01-PP001\n" + "H.S.CODE:9401690090\n" + "产品尺寸:53*53*51",
          amount1: "700PCS",
          amount2: "USD 6.50",
          amount3: "USD 4550.00"
        },
        {
          id: "12987124",
          name: "A03-01-PP001\n" + "H.S.CODE:9401690090\n" + "产品尺寸:53*53*51",
          amount1: "300PCS",
          amount2: "USD 6.50",
          amount3: "USD 1950.00"
        },
      ]
    });

  4. 打印按钮

    // printTest是需要打印内容的div的id ,并在前面加上#                     
    <el-button
    @click="toPrint(row)"
    v-print="'#printTest'"
    size="default"   
    link
    type="primary"
    >COMMERCIAL INVOICE
    </el-button>

  5. 关于颜色存在偏差的问题

    @media print {
      // 强制打印背景(这样才能打印出背景颜色)    Kris_wen
      * {
        -webkit-print-color-adjust: exact !important;
      }
    }
  6. 去掉页眉页脚

    /* 去掉页眉页脚 */
    @page {
      size: auto;
      margin: 0mm;
    }
  7. 表格最好使用原生的HTML原生的表格,使用element-table会出现分页割断的问题。

  8. 有些数据是要先通过ajax从后端取出,在调用打印方法的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/127395.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

优思学院|CTP和CTQ是什么?有什么区别?

CTQ 关键质量特性 CTQ是在六西格玛管理中常用的重要词汇&#xff0c;所以很多不同界别的人仕都可能听过&#xff0c;CTQ的意思是关键质量特性&#xff0c;Critical To Quality 的缩写。 六西格玛管理提倡的方法是通过客户的声音 (Voice of customer-VOC) &#xff0c;然后把它…

绝对力作:解锁string的所有关键接口,万字深度解析!

W...Y的主页 &#x1f60a; &#x1f354;前言&#xff1a; 通过博主的上篇文章&#xff0c;我相信大家已经认识了STL并且已经迫不及待想学习了&#xff0c;现在我们就走近STL的第一种类——string。 目录 为什么学习string类&#xff1f; C语言中的字符串 标准库中的str…

使用 Socks5 来劫持 HTTPS(TCP-TLS) 之旅

MITM 劫持的过程中&#xff0c;HTTP 协议并不是唯一选择。 实际在 MITM 使用过程中&#xff0c;BurpSuite 和 Yakit 提供的交互式劫持工具只能劫持 HTTP 代理的 TLS 流量&#xff1b;但是这样是不够的&#xff0c;有时候我们并不能确保 HTTP 代理一定生效&#xff0c;或者说特…

【js逆向实战】某sakura动漫视频逆向

写在前面 再写一个逆向实战&#xff0c;后面写点爬虫程序来实现一下。 网站简介与逆向目标 经典的一个视频网站&#xff0c;大多数视频网站走的是M3U8协议&#xff0c;就是一个分段传输&#xff0c;其实这里就有两个分支。 通过传统的m3u8协议&#xff0c;我们可以直接进行分…

python回文日期 并输出下一个ABABBABA型回文日期

题目&#xff1a; 输入&#xff1a; 输入包含一个八位整数N&#xff0c;表示日期 对于所有的测评用例&#xff0c;10000101 ≤N≤89991231&#xff0c;保证N是一个合法日期的8位数表示 输出&#xff1a; 输出两行&#xff0c;每行一个八位数。第一行表示下一个回文日期第二…

【论文阅读】DALL·E: Zero-Shot Text-to-Image Generation

OpenAI第一代文本生成图片模型 paper&#xff1a;https://arxiv.org/abs/2102.12092 DALLE有120亿参数&#xff0c;基于自回归transformer&#xff0c;在2.5亿 图片-文本对上训练的。实现了高质量可控的text to image&#xff0c;同时也有zero-shot的能力。 DALL-E没有使用扩…

【腾讯云 HAI域探秘】探索AI绘画之路:利用腾讯云HAI服务打造智能画家

目录 前言1 使用HAI服务作画的步骤1.1 注册腾讯云账户1.2 创建算力服务器1.3 进入模型管理界面1.4 汉化界面1.5 探索AI绘画 2 模型参数的含义和调整建议2.1 模型参数的含义和示例2.2 模型参数的调整建议 3 调整参数作画的实践和效果3.1 实践说明3.2 实践效果13.3 实践效果23.4 …

专门为Web应用程序提供安全保护的设备-WAF

互联网网站面临着多种威胁&#xff0c;包括网络钓鱼和人为的恶意攻击等。这些威胁可能会导致数据泄露、系统崩溃等严重后果。 因此&#xff0c;我们需要采取更多有效的措施来保护网站的安全。其中WAF&#xff08;Web application firewall&#xff0c;Web应用防火墙&#xff0…

网站接口测试记录

1.被测试服务器端口输入htop指令进行cpu监控 2.测试机器安装宝塔-》我的工具-》进行网站测试 访问地址&#xff1a;https://www.bt.cn/bbs/thread-52772-1-1.html

Spring Cloud智慧工地管理平台源码,智慧工地APP源码,实现对劳务人员、施工进度、工地安全、材料设备、环境监测等方面的实时监控和管理

智慧工地管理平台源码&#xff0c;智慧工地APP源码&#xff0c; 智慧工地管理平台实现对人员管理、施工进度、安全管理、材料管理、设备管理、环境监测等方面的实时监控和管理&#xff0c;提高施工效率和质量&#xff0c;降低安全风险和环境污染。智慧工地平台支持项目级、公司…

SpringCloud——负载均衡——Ribbon

负载均衡分为集中式LB(Nginx实现)和进程内LB(Ribbon)。 Ribbon简单来说就是负载均衡RestTemplate调用。 1.Ribbon在工作中分成两步 1.先选择EurekaServer&#xff0c;它优先选择在同一个区域内负载较少的EurekaServer。 2.在根据用户指定的策略&#xff0c;从服务注册的列表…

Go 什么是循环依赖

Go 中的循环依赖是指两个或多个包之间相互引用&#xff0c;形成了一个循环依赖关系。这种情况下&#xff0c;包 A 依赖包 B&#xff0c;同时包 B 也依赖包 A&#xff0c;导致两个包之间无法明确地确定编译顺序&#xff0c;从而可能引发编译错误或其他问题。循环依赖是 Go 中需要…

js实现向上、向下、向左、向右无缝滚动

向左滚动 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, ini…

ClickHouse Keeper: Coordination without the drawbacks没有缺点的分布式协作系统

ClickHouse Keeper 介绍 现代分布式系统需要一个共享和可靠的信息存储库和共识系统来协调和同步分布式操作。对于ClickHouse来说&#xff0c;ZooKeeper最初是被选中的。它的广泛使用是可靠的&#xff0c;提供了简单而强大的API&#xff0c;并提供了合理的性能。 然而&#xf…

三菱FX3U系列-定位指令

目录 一、简介 二、指令形式 1、相对定位[DRVI、DDRVI] 2、绝对定位[DRVA、DDRVA] 三、总结 一、简介 定位指令用于控制伺服电机或步进电机的位置移动。可以通过改变脉冲频率和脉冲数量来控制电机的移动速度和移动距离&#xff0c;同时还可以指定移动的方向。 二、指令形…

【K-means聚类算法】实现鸢尾花聚类

文章目录 前言一、数据集介绍二、使用步骤1.导包1.2加载数据集1.3绘制二维数据分布图1.4实例化K-means类&#xff0c;并且定义训练函数1.5训练1.6可视化展示2.聚类算法2.1.可视化生成3其他聚类算法进行鸢尾花分类 前言 例如&#xff1a;随着人工智能的不断发展&#xff0c;机器…

LiveMedia视频监控汇聚管理平台方案(三)

上一篇文章中我们介绍了LiveMedia视频监控汇聚管理平台视频接入方案中功能设计的设备接入方法。在这篇文章中我们来介绍下LiveMedia视频监控汇聚管理平台方案中功能设计里的流媒体转发是如何实现的&#xff1f; 图1流媒体转发框架 平台流媒体转发框架如图1流媒体转发框架所示&a…

JSP 中医知识管理系统myeclipse开发sql数据库BS模式java编程网页结构

一、源码特点 JSP 中医知识管理系统 是一套完善的web设计系统&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;比较流行的ssh框架系统具有完整的源代码和数据库&#xff0c;myeclipse开发系统主要采用B/S模式开发。 javaWeb中医知识系统 二、功能介绍 此次系统主要…

麒麟KYLINOS中制作Ghost镜像文件

原文链接&#xff1a;麒麟KYLINOS中制作Ghost镜像文件 hello&#xff0c;大家好啊&#xff0c;今天给大家带来一篇在麒麟KYLINOS桌面操作系统2203中制作Ghost镜像文件的文章&#xff0c;首先需要将系统进行备份&#xff0c;然后在系统自带的备份还原工具中点击一键Ghost制作镜像…

邮箱哪家强?哪个牌子邮箱好用

邮箱在国内外使用情况不太一样&#xff0c;国内一般都是工作中需要用邮箱&#xff0c;直接使用公司发的企业邮箱就可以了&#xff0c;个人一般自己需要使用邮箱频率比较少&#xff0c;大多是用来注册其他平台信息&#xff0c;接受验证码、电子发票等等&#xff0c;使用不频繁。…