首页 前端知识 前端打印(html)

前端打印(html)

2025-03-09 15:03:38 前端知识 前端哥 964 710 我要收藏

目录

1.window.print()

2.使用插件print.js

1.window.print()

<template>

  <div id="contenteBox">内容</div>

   <button @click="printContent">打印</button>

</template>

<script>

  export default{

    data(){

      return{} 

    },

  methods:{

       printContent(){

          let contentDom=document.getElementById('contenteBox')

          let html=`

               <head>

                  <style lang='scss'>

                        #contenteBox{font-size:18px;background-color:#333}

                  <style>

               </head>

               <body>${contentDom.innerHTML}</body>

            `

       window.print()

        }

     }

  }

</script>

let contentDom=document.getElementById('contenteBox') //获取id为contenteBox的dom元素

html  //设置打印主体以及css样式

window.print()  //打印

也可以let bodyContent = document.getElementById('contenteBox').innerHTML 通过 获取需要打印的元素

通过 document.body.innerHTML=bodyContent 把当前页面替换为打印内容HTML

window.print()打印  //记得最后还原页面

2.使用插件print.js

2.1 vue2

https://www.npmjs.com/package/print-js

npm install print-js --save
yarn add print-js
import printJS from 'print-js'
<template>
  <div>
    <button @click="printContent">打印</button>
    <div id="contenBox">
      <div>内容</div>
    </div>
  </div>
</template>

<script>
import printJS from 'print-js';

export default {
  methods: {
    printContent() {
      printJS({
        printable: 'contenBox',
        type: 'html',
        documentTitile:'打印',
        style: `
          #contenBox{
              color:#333,
              font-size:20px
          }
        `
      });
    }
  }
};
</script>

printable 文档来源

type 打印类型

documentTitle 打印显示的文档标题

style 自定义样式

2.2 vue3

<template>
  <div>
    <button @click="printContent">打印</button>
    <div ref="contenBox">
      <div>内容</div>
    </div>
  </div>
</template>

<script>
import printJS from 'print-js';
let contenBox=ref()
function printContent() {
      printJS({
        printable: 'contenBox',
        type: 'html',
        documentTitile:'打印',
        style: `
          #contenBox{
              color:#333,
              font-size:20px
          }
        `
      });
    }
</script>

转载请注明出处或者链接地址:https://www.qianduange.cn//article/22979.html
标签
评论
发布的文章

面试题之强缓存协商缓存

2025-03-11 15:03:21

【C语言】数组篇

2025-03-11 15:03:19

正则表达式(复习)

2025-03-11 15:03:17

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!