• vue 打印


    vue 方法

    第一种方法:通过npm 安装插件

    1,安装  npm install vue-print-nb --save

    2,引入  安装好以后在main.js文件中引入   

    import Print from 'vue-print-nb'
    Vue.use(Print);  //注册

    3,现在就可以使用了

    <div id="printTest" >
        <p>锄禾日当午</
        <p>汗滴禾下土 </
        <p>谁知盘中餐</p>
        <p>粒粒皆辛苦</p>
    </div>
    <button v-print="'#printTest'">打印</button>     

    如果内容打印不全,在打印操作时点击更多设置,然后设置缩放

    验证:vue-print-nb 使用某些浏览器点击没效果(不知道什么原因)

    第二种方法:手动下载插件到本地

    插件地址:https://github.com/xyl66/vuePlugs_printjs

    import Print from '@/plugs/print'
    Vue.use(Print) // 注册
    <template>
      <section ref="print">
        打印内容
        <div class="no-print">不要打印我</div>
      </section>
    </template>
    this.$print(this.$refs.print) // 使用

    注意事项 需使用ref获取dom节点,若直接通过id或class获取则webpack打包部署后打印内容为空 

    指定不打印区域

     方法1. 添加no-print样式类

    <div class="no-print">不要打印我</div>

    方法2. 自定义类名

    <div class="do-not-print-me-xxx">不要打印我</div>
    this.$print(this.$refs.print,{'no-print':'.do-not-print-me-xxx'}) // 使用

    未试验: print.js  、vue-easy-print 

    jquery 方法

    jquery-print.js

    1、index.html 引入

    <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>
    <script type="text/javascript" src="https://cdn.bootcss.com/jQuery.print/1.5.0/jQuery.print.min.js"></script>

    2、webpack.base.conf.js

    externals: {
        "vue": "Vue",
        "element-ui": "ELEMENT",
        'jquery':'window.jQuery'

    注:需要全局话jQuery。

    3、使用

    $("#printObject").print();

     

    jquery.jqprint.js

    使用方法同上。

    javascript 方法

    页面打印

    function printPage(){// 此处函数名不能为print,因为会与window.print()形成无限递归
        window.print();
    }

     

    区域打印

    准备工作:用:<!- -startprint- ->和<!- -endprint- ->“圈”住要打印的代码段

    function printArea(){
        var bdHtml=window.document.body.innerHTML;
        var sprnstr="<!--startprint-->";
        var eprnstr="<!--endprint-->";
        var prnHtml=bdHtml.substring(bdHtml.indexOf(sprnstr)+17);/*去掉前面的部分*/
        prnHtml=prnHtml.substring(0, prnHtml.indexOf(eprnstr));/*去掉后面的部分*/
        var myWindow=window.open('', '', '');/*打开新的浏览器窗口(选项卡)*/
        myWindow.document.body.innerHTML=prnHtml;
        myWindow.print();
    }

    注意:CSS的@media print{} 控制打印时的样式、或者写在元素上

    分页:<div style="page-break-before:always;"><br /></div>
  • 相关阅读:
    C# 时间格式化
    下载好证书后,手机无法安装fiddler证书
    charles抓包步骤整理
    Windows 8的本地化应用程序清单
    代码滑动panorama-即程序中设置SelectedIndex
    WP7开发 Sqlite数据库的使用 解决Unable open the database
    mybatis plus eq and or
    弹出窗口
    父子窗口传递参数
    从后台数据库查询的List数据怎么在前台combobox显示
  • 原文地址:https://www.cnblogs.com/fenwen/p/10717839.html
Copyright © 2020-2023  润新知